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 ...(以下略)
これでローカルとサーバーで同じ環境になりました。