MacとUbuntuに phantomjs いれてみた

大学の某文献のスクレイピングがしたくなってきたのでphantomjs入れたんだけど、手間取ったのでメモ

Mac 10.7
Homebrew失敗

sudo brew update
sudo brew install 

examples/hello.jsは通るんだけど、他のスクリプトはphantomオブジェクトがないといわれてこける。

結局、Mac用バイナリ配ってたのでそれを使った。
phantomjs-1.2.0-macosx-universal.dmg - phantomjs - PhantomJS 1.2.0 Mac OS X bundle (x86 + ppc) - headless WebKit with JavaScript API - Google Project Hosting http://code.google.com/p/phantomjs/downloads/detail?name=phantomjs-1.2.0-macosx-universal.dmg

パスを通しておく
~/.zshrc に path=(/Applications/phantomjs.app/Contents/MacOS/ $path) を追加

実行
$ phantomjs examples/pizza.coffee
Adrienne's Pizza Bar Restaurant 
54 Stone Street, New York, NY
+1 212-248-3838 - 
....

うごきました

Ubuntu 11.04

めんどかった

インストール

$ sudo apt-get install libqt4-dev libqtwebkit-dev qt4-qmake
$ wget http://phantomjs.googlecode.com/files/phantomjs-1.2.0-source.zip
$ unzip phantomjs-1.2.0-source.zip
$ cd phantomjs-1.2.0
$ qmake-qt4
$ make

いじってないサーバー版Ubuntuは X server を持ってないのでHTMLのレンダーができません。
VNCなんかで使われるxfvbを裏に走らせます

$ sudo aptitude install xvfb
$ sudo aptitude install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic
$ sudo aptitude install xserver-xorg-core
$ sudo aptitude install x11-xkb-utils
$ export DISPLAY=:1
$ Xvfb :1 -screen 0 1024x768x24 > /dev/null 2>&1 &

$ bin/phatomjs examples/pizza.js
...(以下略)

これでローカルとサーバーで同じ環境になりました。