問題タブ [lwp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
886 参照

xml - XMLがオブジェクトにあるときにXML::Simpleを使用する方法は?

私はこのコードを持っています

XML::Simpleそして今、私はで使用したいと思います$response->content

から私は彼らが使用していることがわかります

しかし、私のXMLデータはファイルではなく、LWPモジュールによって作成されたオブジェクトにあります。

どうすればそのデータを解析できXML::Simpleますか?

0 投票する
1 に答える
554 参照

perl - perlはLWP:Simpleでウェブページエラーを取得します

学校で取り組んでいるプロジェクトがありますが、ここでエラーが発生しているようです...

「5行目の未定義の値でメソッド'content'を呼び出せません」というメッセージが表示されます

0 投票する
3 に答える
945 参照

perl - UserAgent Get Website on Loop に関する Perl の質問

最初の画像は問題なく取得できますが、コンテンツが内部でループしているようです。私が間違っているのかわかりません。

0 投票する
3 に答える
1844 参照

perl - perllwpのCookie

私はかつて、JAVAでhttpページをダウンロードするための簡単な「クローラー」を作成しました。今、私はLWPモジュールを使用して、Perlに同じものに書き直そうとしています。

これは私のJavaコードです(これは正常に動作します):

p>

そしてこれはPerlバージョンです:

postリクエストは正しく実行されますが、別の(メイン)Webページが表示されます。クッキーが正しく機能していないかのように...

何が悪いのか推測できますか?JAVAおよびperlプログラムとは異なる結果が得られるのはなぜですか?

0 投票する
2 に答える
1535 参照

regex - Perl LWP::Simpleでオンライン価格を処理してWebサイトをクエリする

暇なときは、LWP :: Simpleを使用して特定のWebサイトの製品ページをポーリングして製品の価格をチェックするスクリプトを作成することで、Perlの能力を向上させようとしています(私はPerlの初心者です)。このスクリプトは、そのアイテムで最後に表示された価格の非常に単純なバックログも保持します(価格は頻繁に変更されるため)。

スクリプトをさらに自動化して、ページのURLを最初のハッシュに明示的に追加する必要がないようにする方法があるかどうか疑問に思いました(つまり、キーワードの配列を保持し、Amazonで検索クエリを実行してページを見つけるか、価格?)。とにかく、Amazonの検索URLをコピーしてキーワードを解析するだけでなく、これを実行できる方法はありますか?(正規表現を使用したHTMLの処理は一般的に悪い形式であることを認識しています。必要なデータは1つだけなので、これを使用しました)。

0 投票する
2 に答える
593 参照

mysql - HTML :: TableExtract:正しい引数を実行する方法[実際の例を参照]

パーサーに関する質問。テーブルを区切るいくつかのセパレーターをキャッチする機会はありますか...paserスクリプトはすでにうまく実行されています。注-データをMySQLデータベースに保存したい。したがって、いくつかの区切り文字(コンマ、タブ、またはその他)があると便利です。タブ区切り値またはコンマ区切り値は、操作に便利な形式です...

(ここでは、次のサイトのデータ:http: //192.68.214.70/km/asps/schulsuche.asp?q=a&a=20

lfd。Nr。Schul-nummerSchulnameStraßePLZOrtTelefonFax Schulart Webseite 10401MädchenrealschuleMarienburg、Abenberg、derDiözeseEichstättMarienburg1 91183 Abenberg 09178/509210Realschulenmrs-marienburg.homepage.t-online.de26581VolksschuleAbenberg(Grund 2 91183 Abenberg 09178/215 09178/905060 Volksschulen home.t-online.de/home/vs-abenberg63074プライベートBerufsschulezursonderpäd。Förderung、FörderschwerpunktLernen、AbensbergRegensburgerStraße6093326 Abensberg09443/70919109443/709193Berufsschulenzursonderpädog。Förderungwww.berufsschule-abensberg.de

さて、私はそれらの行を少なくとも3つの列に分割する必要があります-最初のレコードを取ります。

名前:Volksschule Abenberg(Grundschule)通り:Güssübelstr。2郵便番号と町:91183 Abenbergファックスと電話:09178/215 09178/905060学校の種類:Volksschulenウェブサイト:home.t-online.de/home/vs-abenberg

またはさらに良い-私は郵便番号と町を2つの別々の列に分割しました!?質問:これは可能ですか?

ちなみに:最初のレコードを参照してください:(ここでは学校の名前のみを表示しています)

10401MädchenrealschuleMarienburg、Abenberg、63074プライベートBerufsschulezursonderpäd。Förderung、FörderschwerpunktLernen、Abensberg

それらは名前の中にいくつかのコンマを持っています。これにより、csv-fomateを作成するパーサーを作成することが難しくなりますか?

Perlでこれを行う方法についてのアイデア...可能であれば、それは素晴らしいことです!! この小さな問題に関するヒントのための多くの多くのthx-これに加えて、すべてが素晴らしくて魅力的です!

ところで-必要に応じて-私はコードを追加することができます。ここでは問題ありません。

0 投票する
1 に答える
923 参照

perl - LWPとHTML::TableExtractをText::CSVでCSVを吐き出す方法

私は現在、小さなパーサーに取り組んでいます。

最初のスクリプトで非常に良い結果が得られました!これはうまくいくことができました!ページからデータをフェッチします:http://192.68.214.70/km/asps/schulsuche.asp ?q = n&a = 20(注6142レコード)-ただし、注-データは分離されていないため、サブシーケンスはデータは少し難しいです。したがって、2番目のスクリプトがあります-以下を参照してください!

注-友達が両方のスクリプトを手伝ってくれました。私は、2人で1人で移行するのに助けが必要な真の初心者として自己紹介する必要があります。ですから、私のPerlの知識はそれほど精巧ではないので、自分で1つに移行することができます。ありとあらゆる助けが素晴らしいでしょう!

最初のスクリプト:スパイダーとパーサー:次のようにデータを吐き出します:

しかし、私はデータを区切る必要があります:コンマまたはそのような何かで!

そして、私は2番目のスクリプトを持っています。この部分はCSV形式を実行できます。スパイダーロジックでそれを作りたいです。しかし、最初に最初のスクリプトを見てみましょう:素晴らしいスパイダーロジックを使用します。

適切なコードを参照してください。

しかし、これ(上記のスクリプト)のように、unfortunatleyはセパレーターを処理しません。私は、セパレーターを検索するメソッドを処理する必要がありました。データ(出力)を分離するため。

したがって、分離することで、データを操作してmysql-tableに格納したり、他のことを実行したりすることができます。以下のコードを上記のコードに入れる-上記のコードのスパイダーロジックをCSV形式でデータを出力するロジックと組み合わせる。コードのどこに設定するか質問:一方を他方に移行するためにこのポイントを特定できますか...!?それはすごいことだろう...私が心に留めていることを明確にできることを願っている...!?両方の部分(/ scripts)を1つに移行することの利点を利用できますか?

したがって、問題は次のとおりです。CSVスクリプトをスクリプトのどこに設定するか(上記)

問題は、最初のスクリプトで非常に良い結果が得られたことです。次のページからデータをフェッチします:http://192.68.214.70/km/asps/schulsuche.asp ?q = n&a = 20(注6142レコード)-ただし、注-データは分離されていません...!

そして、私は2番目のスクリプトを持っています。この部分はCSV形式を実行できます。スパイダーロジックと組み合わせたいです。

挿入する部分はどこですか?皆様のお役に立てることを楽しみにしております。

もっと正確にする必要がある場合は、お知らせください...

0 投票する
1 に答える
144 参照

mysql - LWP::Simple に CSV 形式を追加する方法

このターゲット URL に関しては、ドイツの学校データベースhttp://192.68.214.70/km/asps/schulsuche.asp?q=a&a=100&s=1750

このターゲット URL にはグリッド (またはテーブル) があります - うまく動作するコードがありますが、グリッドを処理できません...

次のようなデータを吐き出します...

それは悪いです - セパレータが必要です - どうすれば結果にセパレータを入れることができますか - コンマまたはタブのいずれか.... ?

ここにコード:

ところで - 区切り記号の一例を参照してください... :

注:これは、このスレッドに関する素晴らしいヒントをくれたユーザーからのものです。HTML::TableExtractを参照してください : 正しい引数を実行する方法 [実際の例を参照]

さて、アイデアを上記のスパイダーとパーサーに移行したいと思います。これは可能ですか..結果がcsv形式で吐き出されるように、コード行を追加する方法のヒントを教えてください...!?

ありとあらゆる助けが大歓迎です..

ゼロ

更新: muu のアイデアによると、短すぎます...:

更新:いくつかの試行を行いました:

martin@suse-linux:~/perl> perl perl_bayern_newstack.pl Unmatched ( in regex; マーク <-- HERE in m/^.*?(Treffer )(d+)( - )(d+)( <-- HERE

ここで何が問題なのですか...?

0 投票する
1 に答える
399 参照

mysql - LWP、HTML::TableExtract、および Text::CSV を使用した出力 - ここに属性を追加する方法は?

サイトを解析する小さなパーサーがあります - 6150 のレコードがあります。しかし、これを CSV 形式にする必要があります。

まず、対象サイトをご覧ください: http://192.68.214.70/km/asps/schulsuche.asp?q=a&a=50&s=1750

すべてのデータが必要です - のフィールドに分離されています

ええと、私には台本があります。これについてあなたがどう思うか非常に興味があります。まだすべてのフィールドを獲得しているわけではありません - もっと多くのフィールドが必要です!

次の出力で:

|| で 区切り文字です。

私の問題は、より多くのフィールドが必要なことです-次のように分割する必要があります-例を参照してください:

フィールドをさらに追加するには?これは明らかにこの行で実行する必要がありますね!?

しかし、どのように?いろいろ試しましたが、いつも悪い結果しか出ませんでした。私は遊んで、別の解決策を試しましたが、ここには良いCSVデータがありますが、残念ながらスパイダーロジックはありません...

まあ-これで別の解決策を試しました-しかし、ここには良いCSVデータがあります-残念ながらスパイダーロジックはありません。

ここにスパイダーロジックを追加する方法!?

最初のスクリプトまたは 2 番目のスクリプトで、助けが必要です。

0 投票する
2 に答える
390 参照

perl - LWP::Simple-ループを実装する方法[ライブデモ付き]

こんばんは、親愛なるコミュニティ!

Webスパイダー/クローラーのように、複数のWebページを処理したい。私はいくつかのビットを持っています-しかし今、私はいくつかの改良されたスパイダーロジックを持っている必要があります。target-urlhttp: //192.68.214.70/km/asps/schulsuche.asp?q =e&a=50を参照してください

このページには6000以上の結果があります!どうすればすべての結果を得ることができますか?モジュールLWP::simpleを使用しており、すべての6150レコードを取得するために使用できるいくつかの改善された引数が必要です。

試行:最初の5ページのURLは次のとおりです。

URLの「s」属性はページ1では0から始まり、その後はページごとに50ずつ増加することがわかります。この情報を使用して、ループを作成できます。

tadmc(非常に協力的なユーザー)は、cvs形式の結果を出力する優れたスクリプトを作成しました。私はコードにこのループを組み込んでいます:(注-何かが間違っていると思います!以下の考えを参照してください...コードスニペットとエラーメッセージを使用して:

いくつかの問題がありました-私は間違いを犯しました私はエラーがここにあると思います:

私はある種のダブルコードを書き留めました。私は一部を省く必要があります...これはここにあります

コマンドラインで結果を確認します。

どう思いますか!?あなたから聞くことを楽しみにしています

ところで-改良されたスパイダーロジックなしで、tadmcによって作成されたコードを参照してください....これは非常に非常にnciely-問題なく実行されます:それは素敵なフォーマットのcvs-outputを吐き出します!!

注:この上記のコードはうまく動作します-csv形式の出力を吐き出します。