Webサービスを作る上で、外部のデータを取得して何かしたいといったことは良くある。いや、外部に限ったものではない。ローカルのデータであっても取得して、それを検索したいという要望は良くあるものだ。

entrance13.png

ユーザ側の検索画面

 

そうした時にクローラーを自作したりすると思うのだが、robots.txtの解釈や効率的なクローリング法を習得するのは大変なことだ。そこで試してみたいのがこれだ。

今回紹介するオープンソース・ソフトウェアはInfoCrawler、Java製のWebクローラーだ。

InfoCrawlerは設定項目も数多く、クローリングシステムとして優秀なものになると思われる。複数サーバ設置して分散化もできるようだ。HTMLや画像、各種バイナリ等ファイル種別を指定してクローリングを行うか否かを指定できる。

entrance12.png

インデックスするファイルを指定する画面

 

認証が必要なサーバにも対応し、言語によってフィルタリングをすることもできる。クローリングした内容はMySQLやSQL Server/Oracleへも保存できるので、再利用も十分考えられるだろう。

一度に複数のスレッドが立ち、データを取得、コンテンツの解析等を行ってインデックス化していく。ローカルやリモートファイルシステムでも利用できるようなのだが、そこは試していない。

entrance10.png

クローリング中の画面

 

ユーザ側の画面は何となくGoogle似のシンプルな構成になっている。だがコレクションを選択して検索を行う点が大きく異なる。社内の検索システムや、自社Webサイトの検索システム等、幅広く対応できるソフトウェアだ。

 

SourceForge.net: infocrawler

 http://sourceforge.net/projects/infocrawler/