PhantomJSをインストールする(Ubuntu)
UtuntuにPhantomJSをインストールしました。
用途は以下の2つです。
- Laravel/Duskでテストする
- 応募フォームの応募フロー自動化
Laravel/DuskはChromeDriverの他、PhantomJSも選べます。
環境によってはChromeDriverがインストールできないこともあり、今回はPhantomJSを選ぶことになりました。
応募フォームの応募フロー自動化は、単純に手間を省きたかったからです。
PhantomJSを使うと比較的簡単にスクレイピングができるということで選びました。
こちらはシナリオテストレベルの使い方、Laravel/DuskはDBの結果と突き合わせたりするので単体/結合レベルのテスト用という感じでしょうか。
それでは、OS:Utuntuにインストールしていきます。
- 参考にしたサイト
- パッケージリストの更新
- 必要なパッケージをインストール
- 日本語フォントインストール
- phantomjsのバージョン指定を変数に保持
- phantomjsをgitから取得
- ファイル確認
- ファイル展開、インストール
- シンボリックリンク作成
- phantomjsインストール確認
- 不要なダウンロードファイルを削除
参考にしたサイト
install phantomjs 2.1.1 - ubuntu · GitHub
パッケージリストの更新
$ sudo apt-get update
apt-get install 前のルーチンです。
必要なパッケージをインストール
$ sudo apt-get install build-essential chrpath libssl-dev libxft-dev -y $ sudo apt-get install libfreetype6 libfreetype6-dev -y $ sudo apt-get install libfontconfig1 libfontconfig1-dev -y
私の環境では既にインストール済みとなり、新たにインストールするものはありませんでした。
日本語フォントインストール
sudo apt-get install fonts-migmix
これを入れずにPhantomJSを起動すると文字化けします。
□で表示されたら、この作業が必要です。
phantomjsのバージョン指定を変数に保持
$ cd ~ $ export PHANTOM_JS="phantomjs-2.1.1-linux-x86_64" $ echo $PHANTOM_JS phantomjs-2.1.1-linux-x86_64
ここはただ以降のコマンドで使用する目的で変数を設定しています。
phantomjsをgitから取得
$ wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/$PHANTOM_JS.tar.bz2 Saving to: ‘phantomjs-2.1.1-linux-x86_64.tar.bz2’ phantomjs-2.1.1-linux- 100%[=========================>] 22.33M 2.38MB/s in 12s 2017-11-23 08:30:49 (1.82 MB/s) - ‘phantomjs-2.1.1-linux-x86_64.tar.bz2’ saved [23415665/23415665]
ファイル確認
$ ls -la phantomjs-2.1.1-linux-x86_64.tar.bz2 -rw-rw-r-- 1 vagrant vagrant 23415665 May 22 2017 phantomjs-2.1.1-linux-x86_64.tar.bz2
tar.bz2ファイルをダウンロードできました。
ファイル展開、インストール
$ sudo tar xvjf $PHANTOM_JS.tar.bz2 $ sudo mv $PHANTOM_JS /usr/local/share mv: cannot move 'phantomjs-2.1.1-linux-x86_64' to '/usr/local/share/phantomjs-2.1.1-linux-x86_64': Directory not empty
- 展開後のファイル移動時にエラーが出たけど、実態はあるためスルーしました。
$ ls -la /usr/local/share/ total 32 drwxr-xr-x 8 root root 4096 Nov 16 07:51 . drwxr-xr-x 11 root root 4096 Oct 16 12:45 .. drwxr-xr-x 2 root root 4096 Aug 23 01:50 ca-certificates drwxrwsr-x 2 root staff 4096 Oct 16 12:38 fonts drwxr-xr-x 2 root root 4096 Feb 15 2017 man drwxr-xr-x 4 root root 4096 Jan 25 2016 phantomjs-2.1.1-linux-x86_64 drwxrwsr-x 7 root staff 4096 Aug 23 01:50 sgml drwxrwsr-x 6 root staff 4096 Aug 23 01:50 xml
シンボリックリンク作成
$ sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin
- phantomjsコマンドを使うために実行します。
phantomjsインストール確認
$ phantomjs --version 2.1.1 $ which phantomjs /usr/local/bin/phantomjs
不要なダウンロードファイルを削除
$ rm phantomjs-2.1.1-linux-x86_64.tar.bz2
特に問題なくインストールできました。
これでphantomjsコマンドを使うことができます。