hamadata's diary

エンジニアのブログ

ノンプログラマ向け Webからのデータ抽出 やり方リンク集

最近、あちこちで「ウェブ上のデータをエクセルかCSVの形式でまとめたい」という相談を受けるので、やりかたのリンク+αの情報をまとめておく。

  • Google Docs: GoogleDocsには、importXMLなる関数が用意されている。URLとhtmlのタグの検索パターンを入力すると、セルにそのタグで囲われた内容を直接取得できる。欠点として、昔ながらのテーブルばっかりのページだと抽出条件を設定しづらいのと、文字コードがShift JISだと文字化けしてしまう。Javascript正規表現のマッチングとかかけれるみたいだけど、詳細不明。あんまりよいドキュメントはない。


  • Google Refine: Google Refineは正規表現でフィルタかけたり、特定の文字で列分割したりと、スクリプト言語っぽい機能がいくらかくっついているの。HTMLから特定のパターンを抽出する、といった用途では最強。value.split(文字列の分割)の関数さえ覚えておけば、結構複雑な処理が可能。リンクは、Wikipediaのソースからデータ抽出をするチュートリアル。英語だけど、手続きを理解するだけなら十分。


  • Excel: HTML云々関係なしに、空白文字で分割された表みたいなテキストデータをExcelに取り込む場合は、Excelの標準機能で”インポート>テキスト"を選択すればOK。Excelで取り込みやすい形式なら一番楽。

需要があったら、詳しく書きます。

[追記] 
Google Refineはオープンソース化され、Githubに公開されている。
github.com