PhantomJSを触ってみる

PhantomJSでウェブサイトのスクレイピング(スクショ?)をやってみました。

流れはこんな感じです。

1)homebrewをインストール
2)PhantomJSをインストール
3)JSファイルを書く
4)ターミナルで実行、スクショが保存される!

1)homebrewをインストール

おもむろにターミナルへ

$ ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
といれる。

インストールがはじまる。

途中パスワード入れたりして、homebrewインストール完了。

2)PhantomJSをインストール

またまたおもむろに

$ brew update && brew install phantomjs
とターミナルへ。

特に何事もなく、平和にインストール終了。

3)JSファイルを書く

こんな感じです。とても短い。

var args = require('system').args;

この一文でターミナルで入力した値をjsの中で使うことができます。

今回は、任意のウェブサイトでスクショを撮るためargsを使いました。

4)ターミナルで実行、スクショが保存される!

そして、ターミナルに

$ phantomjs phantom.js http://www.google.com
と入力してENTERすると・・・

f:id:negimic:20131025173925p:plain

ばーん!

と、スクショができました!

番外編)userAgent

また、以下の3行をopenの前に書くと、

iphoneのuserAgentを設定して、モバイル環境でのスクショも撮れます。


page.setteings = {
  userAgent: 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko)
Mobile/9A334 Safari/7534.48.3'
};