Zwykle chcąc pobrać stronę WWW i przeskanować je zawartość korzystamy z narzędzia typu Wget lub cURL, a następnie przetwarzamy dane przy pomocy np. wyrażeń XPath. Oczywistą wadą takiego rozwiązania jest brak możliwości pobrania informacji generowanych przez Java Script.
Do parsowania stron generowanych przy pomocy Java Scriptu, można wykorzystać serwer Node.js oraz konsolową przeglądarkę PhantomJS.
Instalacja Node.js
wget http://nodejs.org/dist/v0.8.14/node-v0.8.14.tar.gz tar xvzf node-v0.8.14.tar.gz cd node-v0.8.14 ./configure make make install
Instalacja PhantomJS
Oprócz narzędzi potrzebnych do kompilacji programu:
apt-get install build-essential chrpath git-core libssl-dev libfontconfig1-dev
możemy zainstalować jeszcze aplikację do kompresji plików binarnych:
apt-get install upx
Przystępujemy do pobrania oraz kompilacji:
wget http://phantomjs.googlecode.com/files/phantomjs-1.7.0-source.zip unzip phantomjs-1.7.0-source.zip cd phantomjs-1.7.0 ./build.sh deploy/package.sh
Po kompilacji w katalogu „deploy” znajdziemy archiwum
Instalacja modułu PhantomJS dla Node.js
npm install phantom
Teraz musimy dodać ścieżkę do pliku wykonywalnego PhantomJS do zmiennych środowiskowych. W systemie Windows modyfikujemy zmienną PATH, a w systemie Linux możemy utworzyć dowiązanie symboliczne w katalogu /usr/bin.
Poprawnym efektem działania powyższej operacji ma być możliwość wydania polecenia „phantomjs”, które uruchomi aplikację.
Linki