2

私はPerlでクローラーを書いています。これは、同じサーバー上にあるWebページのコンテンツを抽出する必要があります。現在、HTML :: Extractモジュールを使用して作業を行っていますが、モジュールが少し遅いことがわかったので、そのソースコードを調べたところ、LWP::UserAgentの接続キャッシュを使用していないことがわかりました。

私の最後の手段は、HTML::Extractのソースコードを取得し、キャッシュを使用するように変更することですが、可能であれば、それを避けたいと思っています。同じ仕事をよりよく実行できる他のモジュールを知っている人はいますか?基本的には<body>、HTMLタグを削除した要素内のすべてのテキストを取得する必要があります。

4

4 に答える 4

1

HTML::Extractの機能は非常に基本的で面白くないように見えます。draegfunが言及したモジュールに興味がない場合は、コードをまったく必要とせずに、自分自身を使用して行うすべてのことを実行できます。そうすれば、自由に自分の条件でキャッシュを操作HTML::Extractできます。LWP::UserAgentHTML::TreeBuilder

于 2009-09-12T10:11:04.307 に答える
0

私はスクレイピングのニーズにWeb::Scraperを使用しています。データを抽出するのに非常に便利です。また、呼び出すことができるため、->scrape($html, $originating_uri)必要な結果をキャッシュするのも非常に簡単です。

于 2009-09-12T12:27:31.663 に答える
0

これをリアルタイムで行う必要がありますか?非効率性はあなたにどのように影響しますか?次のページに移動する前に1つのページを抽出する必要があるように、タスクを連続して実行していますか?なぜキャッシュを避けたいのですか?

クローラーはページをダウンロードして他の何かに渡すことができますか?おそらく、クローラーは並行して実行することも、分散して実行することもできます。

于 2009-09-16T15:31:49.397 に答える