EclipseベースのスクレイピングIDE「WebSundew」
Webスクレイピング(スクリーンスクレイピング)に便利なソフトウェア「WebSundew」を紹介します。
マッシュアップサイトの構築やデータマイニングを行う際に、インターネット上のWebサイトやブログから特定のデータを取り出して利用したいということはよくあると思います。公式にAPIなどが用意されていない場合に、広く利用されているのがスクレイピングと呼ばれる技術です。
WebSundewはEclipseをベースとしたスクレイピングIDEで、スクレイピングに関する処理を全てGUI上で行うことができるソフトウェア(有償)です。実際に試用版を利用してみたので、スクリーンショットとともに紹介します。
WebSundewの構成要素
WebSundewによるスクレイピング処理の構成要素として、「Webマクロ」、「ページパターン」、「データパターン」、「データビュー」、「データソース」、「エクストラクション」があります。それぞれ、「ページ遷移などの処理を行うマクロ」、「ページ送りのリンクを抽出するためのパターン」、「データ項目を抽出するためのパターン」、「抽出データの書式」、「抽出データの出力形式」、「抽出処理の定義」となっています。
Webマクロの定義
Googleの検索結果のページを対象とした簡単な利用例になります。今回はサイトのタイトルと概要を1組として、検索結果1ページから複数のデータを抽出してみます。
まず、アドレスバーにアドレスを入力して対象のページを開きます。「Record」ボタンをクリックし、すぐに「Stop」ボタンをクリックしてWebマクロを記録します。ウィンドウが開くので必要な設定をして閉じます。
データパターンの定義
「New Data Pattern」ボタンから「Data Iterators」→「Simple Iterator」をクリックします。ページ上をクリックして、抽出したい複数のデータ全体を囲んでいる要素を選択して「Next」ボタンをクリックします。抽出したい項目を1組分のみ「Add」ボタンで追加していきます。「Next」ボタンを押すと、自動的に複数のデータが選択されるので、確認して「Nextボタン」をクリックします。その後も必要な設定をしてウィンドウを閉じます。
データソースの定義
「New Data View」ボタンから出力形式を選択します(Excelにしました)。「Data View」から先ほどのデータビューを選択します。その後も必要な設定をしてウィンドウを閉じます。
エクストラクションの定義
「New Extraction」ボタンをクリックします。最初に記録したWebマクロを選択して「Next」ボタンをクリックします。「Data Source」の「Add」ボタンをクリックし、先ほどのデータソースを選択します。その後も必要な設定をしてウィンドウを閉じます。
利用例では触れませんでしたが、XPathを始めとした設定項目も色々とあり、かなり柔軟なスクレイピング処理ができるようになっています。自分でプログラムを製作する場合でも、XPathを利用すれば柔軟性のある処理ができますが、GUI上で全て完結してしまうのは便利ですね。
WebSundewには3種類のエディションがあり、Standard Edition(今回試用したエディション)以上では、いわゆる一覧ページと詳細ページが別れているようなサイトの場合でも再帰的なスクレイピングが行えます。Professionalでは、スケジューリング機能やコマンドライン版、JavaScriptへの対応などがあるようです。Liteは実用性を考えると物足りないかもしれませんね。
自分の場合はPHPを利用しているため、購入には至りませんでしたが、プログラミングはできないけれどスクレイピングはしてみたい、という人にとっては便利なソフトウェアなのではないでしょうか。
フリーのスクレイピングIDE「Web-Hervest」
同種のソフトウェアに、フリーで利用できるWeb-Hervestというものもあります〈こちらもEclipseがベースのようです)。XMLを書くことによって、こちらもプログラムを製作するよりは簡単にスクレイピング処理が行えます(再帰的なスクレイピングを行うための関数も同梱されています)。ただし、整形・出力処理はJavaの知識がないと難しいかと思います。
PHP製のスクレイピングライブラリ
PHPを利用する場合には、「PHPでのスクレイピングに役立つライブラリ」で紹介しているライブラリ等が利用できます。PHPを利用してスパイダーやクローラーなどを製作する場合には、こちらも参考にしてみてください。
トラックバック (0)
この記事へのトラックバックはまだありません。
















コメント (0)
この記事へのコメントはまだありません。