casperJSでPHPから外部サイトのjavascript実行結果HTMLを取得してみた。
Webアプリケーションを作っていると意外と利用する外部サイトの情報収集。
今ではAjaxを利用しているサイトもたくさんあるので、単純にcurlなどでHTML取得しても
実はデータ取得できなかったりします。
そんなときに役立つのが「casperJS」です。
簡単にいうとサーバーで動作する画面のないブラウザを利用することができます。
公式サイト : http://casperjs.org/
インストール方法
Homebrewの場合は下記コマンドにてインストール
brew install casperjs --devel
npmの場合は下記コマンド。
npm install -g casperjs
グローバルインストールしてあげましょう。
casperjs --version
でバージョンが表示されればOKです。
内部でphantomjsを利用しているのですが、上記コマンドで自動インストールされます。
http://phantomjs.org/build.html
使い方
下記コードを「sample.coffee」として保存。
ちなみにCoffie ScriptやJavascriptでも利用できます。
casper = require('casper').create() casper.start('http://yahoo.co.jp/', -> @echo(@getTitle()) ) casper.run()
コマンドラインにて実行することで利用できます。
phpの場合はexec()などで取得してあげるといいでしょう、
casperjs sample.coffee
数秒待ってから取得などさまざまなことができますので、
こちらがあるとプログラムの幅が広がると思います。