動的サイトのスクレイピング
cloud9上で動的サイトのスクレイピングを行おうと調査。
静的サイトは以下のサイトを参考にScrapy+scrapinghub(サイト)で処理したので、
Scrapy + Scrapy Cloudで快適Pythonクロール+スクレイピングライフを送る - Gunosyデータ分析ブログ
scrapinghubの提供するSplashというライブラリを利用しようとした。
JavaScriptレンダリングサーバーSplashでスクレイピング - orangain flavor
しかし、Splashはdockerを利用し仮想サーバ上で動的サイトの内容を取得する仕組みらしいのだが、cloud9のワークスペース自体がdockerで運用されているためなのか、Permission deniedになってしまう。
次善策としてPython + webdriver + phantomjsでやってみる。
$ pip install selenium
$ wget -O /tmp/phantomjs-2.1.1-linux-x86_64.tar.bz2 https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
$ cd /tmp
$ bzip2 -dc /tmp/phantomjs-2.1.1-linux-x86_64.tar.bz2 | tar xvf -
$ sudo mv /tmp/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/
$ phantomjs --version
とりあえずこれで環境は出来ているはず。