Java製のクローリングシステム「InfoCrawler」
Webサービスを作る上で、外部のデータを取得して何かしたいといったことは良くある。いや、外部に限ったものではない。ローカルのデータであっても取得して、それを検索したいという要望は良くあるものだ。
ユーザ側の検索画面
そうした時にクローラーを自作したりすると思うのだが、robots.txtの解釈や効率的なクローリング法を習得するのは大変なことだ。そこで試してみたいのがこれだ。
今回紹介するオープンソース・ソフトウェアはInfoCrawler、Java製のWebクローラーだ。
InfoCrawlerは設定項目も数多く、クローリングシステムとして優秀なものになると思われる。複数サーバ設置して分散化もできるようだ。HTMLや画像、各種バイナリ等ファイル種別を指定してクローリングを行うか否かを指定できる。
インデックスするファイルを指定する画面
認証が必要なサーバにも対応し、言語によってフィルタリングをすることもできる。クローリングした内容はMySQLやSQL Server/Oracleへも保存できるので、再利用も十分考えられるだろう。
一度に複数のスレッドが立ち、データを取得、コンテンツの解析等を行ってインデックス化していく。ローカルやリモートファイルシステムでも利用できるようなのだが、そこは試していない。
クローリング中の画面
ユーザ側の画面は何となくGoogle似のシンプルな構成になっている。だがコレクションを選択して検索を行う点が大きく異なる。社内の検索システムや、自社Webサイトの検索システム等、幅広く対応できるソフトウェアだ。
SourceForge.net: infocrawler