1

特定のキーワードを含む Web ページを探して Web を継続的にクロールする Web クローラーを作成しようとしています。これには多くのオープン ソース ソリューション (Nutch、Scrapy など) がありますが、「豊富な」ソースを優先できるインテリジェントなソリューションが必要です。

ボットを特定のページ fe http://www.dmoz.orgから開始し、すべてのリンクを抽出してスクレイピングを続けます。ページに特定のキーワード fe 'foo' が含まれている場合、この URL をデータベースに送信する必要があります。

さて、ここからが難しい部分です。このようなボットを作成して実行すると、スパイダーが Web 全体をクロールするため、指定されたキーワードを含む新しいページを見つけるまでに時間がかかることがあります。スパイダーがキーワードを頻繁に見つけるドメインを特定できれば、プロセスは劇的に速くなり、より頻繁にクロールできるようになります。

これに対するオープンソースのソリューションはありますか?

これまで、Nutch と Scrapy を見てきました。Nutch は私が必要としているものには最適なオプションのようですが、私は Java の経験がなく、この問題に関する特定のドキュメントを見つけることができません。

4

3 に答える 3

1

Java ベースのソリューションを使用したい場合は、Infantをご覧になることをお勧めします。Infant は、マイクロ Web クロール ライブラリです。オープン ソース プロジェクトではありませんが、商用利用でも完全に無料です。Infant が URL キューを維持する順序を制御するために、Infant 用の独自のプラグインを作成できる必要があります。

于 2013-01-05T07:46:10.527 に答える
1

これはまだ試していませんが、アウトリンクのスコアリング方法を制御することで、Nutch でこれを行うことができると思います。現在のページにキーワードが含まれている場合、そのページのアウトリンクにより高いスコアを与えることができます。

ScoringFilter を拡張するプラグインの実装は、http: //sujitpal.blogspot.in/2012/01/nutchgora-scoring-and-indexing-plugins.html にあります。

于 2012-11-28T07:04:32.137 に答える
0

あなたがまだ似たようなものを探しているなら、私たちの非常によく似たオープンソースソフトウェアの1つを使うことができます。

Github リンク

キーワードまたはテキストに 0 から 9 までの単一の値を重みとして割り当てることができるコンテキスト ベースのルール エンジンで動作し、それが解析されると、必要なものをクロールできます。

RORに基づいています

MYSQL、MONGO、および Ubuntu 14.04 と他の通常の gem を自分で管理できます。

于 2015-02-08T12:12:49.047 に答える