2016年7月12日火曜日

でんき家計簿のデータをMySQLに保存する(phantom.jsを使う)

先日、selenium+firefoxを使用したでんき家計簿のスクレイピング をやってみた。
次はphantom.jsを使ってcronで実行できるようにしたいと思った。

といっても、driverの部分を変えるだけ。
最初は、

var driver = new webdriver.Builder().forBrowser('phantomjs',phantomjs.path).build();

と書いていたんだけど、cronで実行するとphantom.jsのパスが見つからないと怒られてしまった。
調べてみると、適切な書き方があった。
var driver = new webdriver.Builder()
       .withCapabilities({"phantomjs.binary.path":phantomjs.path})
       .forBrowser('phantomjs')
       .build();
これでOK!

これを定期的に呼べばいい感じに電力使用量が入手できる。

2016年7月3日日曜日

でんき家計簿のデータをMySQLに保存する

でんき家計簿
 というサービスがある。

スマートメーターが設置されていれば、30分間隔の電力使用量が表示できる。
https://www.kakeibo.tepco.co.jp/dk/syo/electricUsage30MinGraph/

これをなんとかMySQLに保存したいと思った。
wgetでもごもごできるかなと思ったけど、認証があるしメンドクセー。
と思って数日経過し、ネットサーフィンしていたら、
すでに実現している人がいた。スゲー。
http://sirrow.info/archives/578

いろいろな技術を使っているのね。
  • minimist・・・コマンド引数パーサー
  • selenium-webdriver・・・Web自動テストツールらしい
  • phantomjs・・・ブラウザ画面のないQtWebKit ベースのブラウザらしい
 selenium-webdriver
 スクレイピングするツール?
https://www.npmjs.com/package/selenium-webdriver
http://www.seleniumhq.org/docs/03_webdriver.jsp#selenium-webdriver-api-commands-and-operations

PhantomJS
http://tips.hecomi.com/entry/20121229/1356785834
http://phantomjs.org/download.html
ふーん。キャプチャできた!

まずは
selenium-webdriver + firefoxででんき家計簿にアクセスしてみる
ほぼ前述の方と同じだ。 Orz
こんな感じ。
得られたデータはこんな感じ。

ひさしぶりにすごいなと思った。