CasperJSをインストールして遊んだ
CasperJSというのが可愛いよ、と@naoiwata師匠より教えてもらったのでちょっとスクレイピングに使ってみたいと思います。
準備
ここを参照しながら、まずはChasperJSが依存しているPhantomJSをインストールします。
$sudo apt-get update $sudo apt-get install build-essential chrpath git-core libssl-dev libfontconfig1-dev $bower install phantom $cd bower_components/phantom $./build.sh $sudo cp ./bin/phantomjs /usr/local/bin $phantomjs -v 1.9.7
これでPhantomJSをインストールすることができました。ビルドにめちゃくちゃ時間かかりますけど、まぁちょっとそこはゲームでもしながら待ちましょう。ちなみに僕はソースコードのダウンロードにbowerを使いました。入れてない人はnpm install -g bowerとかで入れれます。
次にCasperJSですが、
この辺参照でインストールをさくっとしちゃいます。
$npm install -g casperjs $casperjs CasperJS version 1.1.0-beta3 at /usr/lib/node_modules/casperjs, using phantomjs version 1.9.7
インストールが完了しました。
早速遊んでみる
ここをお手本にしてCoffeeScriptで書いてみます。
#casper_scraping.coffee casper = require('casper').create() casper.start 'http://casperjs.org/', -> @echo @getTitle() casper.thenOpen 'http://phantomjs.org', -> @echo @getTitle() casper.run()
$casperjs casper_scraping.js CasperJS, a navigation scripting and testing utility for PhantomJS and SlimerJS PhantomJS | PhantomJS
これでスクレイピングできましたっと。ざくっと遊んでみましたが、わりと面白いですね。
なんだけど、スクレイピング目的で使うものじゃないなと思いました。CSS3セレクタとかXPathセレクタとかもあるんだけど、ちょっと勝手が悪いなぁという印象。スクレイピングするだけならRubyのNokogiriとかのがマシです。
画面キャプチャとかも撮れるぽいし、画面周りのテストに向いてそうだと思いました。*1
*1:実際そういう用途で使うもんだと思う