動的サイトのスクレイピング

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

とりあえずこれで環境は出来ているはず。