Webサイトを自動操作するのによく使われるのがスクレイピングと呼ばれる技術だ。HTMLを解析し、その中から希望の値を取り出して処理するものだ。

3Dsearch1 Thumbnail-14

大抵、スクリプト言語と正規表現を使って行われると思うが、これを発展させIDEレベルに仕上げたのがこのソフトウェアだ。

今回紹介するオープンソース・ソフトウェアはWeb-Harvest、Webスクレイピング統合開発環境だ。

Web-HarvestはJavaで作られたソフトウェアで、スクレイピングに関する情報をXMLベースで記述していく。そのXMLファイルを設定ファイルとして、データを入れ、返却されたHTMLをXPathを使って解析していくというものになる。

3Dsearch2 Thumbnail-10
便利な関数が様々に定義されており、例えばHTML-to-XMLを使って解析しやすいフォーマットに変換する事ができる。そしてループやIF文を使って処理分けしていく。
サンプルが幾つもあるが、例えばGoogleイメージ検索で指定した検索語の画像を全てダウンロードしたり、Flickrで同様の処理をするといったものや、Yahoo! Mailをチェックしたりといったものもある。
3Dsearch4 Thumbnail-9

データを取ってくる操作が殆どになるが、応用次第で様々な操作ができそうだ。スクレイピングに関しては賛否あるが、Web APIを公開していない場合においては有効な手段になるだろう。

Web-Harvest Project Home Page
 http://web-harvest.sourceforge.net/
SourceForge.net: WebHarvest - web data extraction tool
 http://sourceforge.net/projects/web-harvest