CasperJS使ってみた

CasperJSを使ったWebスクレイピング

  • やりたいこと
    • 特定のサイトのデータをjson形式で取得する

Webスクレイピング

ウェブスプレイピング

ウェブスクレイピング(Web scraping)とは、
ウェブサイトから情報を抽出するコンピュータソフトウェア技術のこと。
人間によるWWWのブラウジングをシミュレートする。

APIを提供してないサイトの情報も取得できるので便利

以前perlスクレイピングしようとしたときは JavaScriptエンジンがなかったのでajax通信で取得するデータ等は 表示できなかったのだがこれは便利だと思いました。

PhantomJS

ブラウザの挙動をブラウザを使うことなくエミュレートできる ヘッドレスブラウザの一種

PhantomJSのインストール

sudo yum install gcc gcc-c++ make git openssl-devel freetype-devel fontconfig-devel git clone git://github.com/ariya/phantomjs.git cd phantomjs git checkout 1.9 ./build.sh

phantomjs -v

すごい時間かかるので注意

CasperJS

CoffeeScriptでもできるらしいですが、かけないのでやりません!

CasperJSのインストール

npm install casperjs

or

git clone git://github.com/n1k0/casperjs.git cd casperjs ln -sf pwd/bin/casperjs /usr/local/bin/casperjs

どっちでやってもphantomjsのパスが見つからないとエラーが出るので Fatal: [Errno 2] No such file or directory; did you install phantomjs?

[takatori@test-cent-takatori bin]$ echo export PHANTOMJS_EXECUTABLE=pwd/phantomjs >> /home/takatori/.bash_profile [takatori@test-cent-takatori bin]$ source /home/takatori/.bash_profile

casperjs --version

サンプル実行

まとめ