スクレーピングするのに便利な方法を調べてる内に、PhantomJSが良さげだなと思ったので、軽く使ってみた。参考Python+Selenium+PhantomJSが快適すぎる
PhantomJSのインストール
Ubuntuを使ってるのでPhantomJSのページを参考に
$ sudo aptitude update
$ sudo aptitude install build-essential chrpath git-core libssl-dev libfontconfig1-dev libxft-dev
$ git clone git://github.com/ariya/phantomjs.git
$ cd phantomjs
$ git checkout 1.9
$ ./build.sh
あとは./bin/にphantomjsが入っているので、./bin/にパスを通しておしまい
Seleniumをpythonから使えるようにする
$ pip install selenium
これだけでおk
SeleniumでPhantomJSのドライバを使う
import selenium import webdriver
driver = webdriver.PhantomJS()
driver.get("http://www.yahoo.co.jp")
print driver.current_url
こんな感じ。何が出来るかはSelenium Python BindingsのWebDriver APIを見ると良い。
Javascriptをちゃんと評価してくれるので、すんげーやりやすい。昔ながらのフレームや、新規ウィンドウが出るようなものも上手く再現してくれる。すげーすげー