RSSフィードやWeb API、Mashupなどの単語が注目を集める中、Webクローラーを通じて外部のWebサイトにあるデータをかき集め、それを解析して別な形にするというのはよく見られるものになってきた。

ピクチャ 32.png

あるURLを指定し、そこからリンクされているURLを一覧表示できる

 

そうした数々のシステムの中で、クローラーとなる基盤は大きな違いはない。Webサイトのデータを取得し、次のリンクを洗い出して取得していくようなものだ。そうした共通動作部分を切り出したフレームワークがAnemoneだ。

今回紹介するオープンソース・ソフトウェアはAnemone、Webクローラを開発するためのフレームワークだ。

Anemoneは任意のWebサイトにアクセスし、その内容を解析するWebクローラーだ。例えばあるURLに付けられているリンクを一覧で取得するようなことも簡単にできる。外部サイトなのかどうかも区別できるので効率的なクローラー開発が行えるはずだ。

アクセスした際にリダイレクトやNot Foundになっている際に、それを検出することもできる。さらにクロールした後に指定した処理を実行することによって平行してダウンロードを続けたり、各リンク単位で最終取得日を計算して処理を行うと言った細かい制御もできる。

Webシステムを開発している中で、Webクローラを開発するというニーズは意外と多い。HTTPを通信する中で厄介な手順などを隠蔽化し、エレガントなクローリング処理を書くのに便利なフレームワークだ。

 

Anemone - Ruby Web-Spider Framework

 http://anemone.rubyforge.org/

chriskite’s anemone at master - GitHub

 http://github.com/chriskite/anemone/tree/master