node.js logo

node.ioでスクレイピング

参考
node.jsでスクレイピング(cheerio版)
↑こちらの方が簡単かも


Scraping the web with Node.io
http://www.coderholic.com/scraping-the-web-with-node-io/

上記、ブログ記事を読んで興味深かったのでnode.ioをちょっと使ってみました。公式のドキュメントは以下。

node.io
https://github.com/chriso/node.io/wiki

インストールはnpmで。

とりあえず、試しに”はてブ”から「いま話題」キーワードリンクを取得してみる。

上記コードを、hatena.jsとして保存。実行してみる。

getHtmlの戻り値がdomエレメントなので、jQueryのセレクタに似た感じでデータを取り出せるのが便利。

うまく行ったので、もうすこしスクレイピングっぽいことを。
下記ページから、放射線量を取得してpostgresqlにインサートするスクリプトを書いてみる
node.js+postgresqlについてはこちら

群馬県:原子力発電所事故に係る本県での放射線量等について
http://www.pref.gunma.jp/05/e0900020.html
以下テスト用テーブルの内容
・めんどくさいのでtest_db、gunma_tbは先に作ってる
・測定者、測定地点、測定日時、測定値を取得
・gunma_tbのカラムは ID,GAUGER, SPOT, DATE, VALUE
・先のページが測定値を全角数字で書いてやがるので、カラムの型は、IDがシリアルなのを除いてすべてテキスト

node.ioはスクレイピング以外にも、標準入出力やファイルの読み書きなどが簡単に扱えるので、ちょっとしたコマンドラインアプリをnode.jsで書くのに便利そう。