さて、私はこの 2 日間、自分のニーズに合ったクローラーを探していました。検索エンジンを構築し、自分でインデックスを作成したいと考えています。これは学術プロジェクトの一部になります。ウェブ全体をクロールする処理能力はありませんが、実際にクロールできるクローラーを使用したいと考えています。私が探しているのは、次のようなクローラーです。
- マルチスレッドをサポート
- 多くのリンクを見逃さない
- クロールされたページのコンテンツにアクセスして(メソッドをオーバーライドして)、保存、解析などを行う機会を与えてくれます。
- robots.txt ファイルに従います
- html ページ (また php、jsp など) をクロールします。
- 同じコンテンツのページを認識し、1 つだけを返します。
それが(必ずしも)しなければならないことは次のとおりです。
- ページランキングをサポートします。
- インデックス結果。
- 画像/オーディオ/ビデオ/PDF などをクロールします。
私のニーズに非常に近いいくつかのライブラリ/プロジェクトを見つけましたが、私が知る限り、必要なものすべてをサポートしているわけではありません:
- 最初にクローラー4jに出会いました。これに関する唯一の問題は、ホストごとの丁寧さの間隔をサポートしていないことです。したがって、礼儀正しさのレベルを 1000 ミリ秒という適切な値に設定すると、クローラーは非常に遅くなります。
- flaxcrawlerも見つけました。これはマルチスレッドをサポートしていましたが、Web ページ内のリンクを見つけてたどるのに問題があるようです。
また、Heritrix や Nutch などのより完全で複雑な「クローラー」についても調べました。私はより複雑なものは得意ではありませんが、必要なことを実行できると確信している場合は、間違いなくそれを使用したいと思っています。彼ら。
簡単に言えば、ウェブ上のすべてのページを非常に高速に通過し、それらに対して何かを行う機会を与えてくれるクローラーを探しています。