Y_hagurin’s diary

パソコンの奴隷

ヘッドレスブラウザPhantomJSをインストール

ヘッドレスブラウザPhantomJSでネットサーフィンする

環境

PhantomJSのインストール

  • 事前準備
    • http://phantomjs.org/build.htmlを参考にして、下記パッケージをapt-getインストール
    • 以前ruby2.2をインストールしたので、ここではrubyは除去した
    • pythonもすでに入ってた(?)ので、ここではpythonは除去した
    • ttf-mscorefonts-installerもインストールした方がよいと書かれてある
      • sudo apt-get ttf-mscorefonts-installer
      • 上記コマンドでインストールしようとするとライセンスに同意するよう求められる
        • 商用利用しない、改造しないなどの契約に同意すればインストールが始まる
      • ここではttf-mscorefonts-installerをインストールしないことにする
% sudo apt-get install build-essential g++ flex bison gperf ruby perl libsqlite3-dev libfontconfig1-dev libicu-dev libfreetype6 libssl-dev libpng-dev libjpeg-dev python
  • 下記コマンドでphantomJSをダウンロードする

    • PhantomJSをダウンロードしたいディレクトリに移動し、git cloneする
      • % git clone git://github.com/ariya/phantomjs.git
    • または、下記サイトから自分のOSに対応するPhantomJSのzipファイルを選択してダウンロードしてもよい
    • ここでは、git cloneを使ってダウンロードした
  • http://phantomjs.org/build.htmlに従い、ビルドする場所とブランチを下記のようにする

% cd phantomjs
% git checkout 2.0
  • ビルドする
    • この後の./build.shに時間がかかり負荷も大きい
    • デフォルトで実行すると、すべてのプロセッサ(Hyper Threadingも含める)を並列で使用すると書かれてある
    • 本ビルド以外の作業も行う場合は、使用するスレッド数を--jobs 1のように指定してCPU負荷を軽減するよう書かれてある
    • 以上の点に注意して下記コマンドを実行し、ビルドする
% ./build.sh
% # ./build.sh --jobs 1 ## スレッド1つでビルド実行
  • ここでは2coreのHyper Threading=ONの状態でtime ./build.shを実行した
    • (1時間以内で終わったけど、数時間かかったというネット記事もあるようだ…)

phantomjsコマンドのリンクを作成して使ってみる

  • ここではエイリアスを作成した(本当はリンクを作成するべき)
    • ~/.zshrcに下のようにphantomjsまでのパスを書き加える
alias phantomjs="~/...[phantomjsまでのパス].../bin/phantomjs"
  • zshを別画面または再ログインで立ち上げる(または% source ~/.zshrc)
  • 下記コマンドでバージョンの確認
% phantomjs -v
2.0.1-development
  • テストコードを書いてみる(エディタはなんでもよい)
% sublime hello.js
  • javascriptで下の2行を書いて、hello.jsという名前のファイルにして保存してみる
console.log('Hello, World!!!');
phantom.exit();
  • 作成したjavascriptを下のコマンドで動かしてみる
% phantomjs hello.js
  • Hello, World!!!と表示されればOK!