ヘッドレスブラウザの「PhantomJS」を利用する機会がありましたので、普段よく使うエックスサーバーへインストールしてスクリーンショットを撮るところまでをテストしてみました。
インストール
ダウンロード
PhantomJSは既に開発が終了しているようですが、以下のページからダウンロード出来ましたので、phantomjs-2.1.1-linux-x86_64.tar.bz2
をwget
でダウンロードします。
Download PhantomJS
$ wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
解凍
ダウンロードが終わったらtar
で解凍します。
$ tar jxfv phantomjs-2.1.1-linux-x86_64.tar.bz2
実行ファイルをコピー
パスが通っているディレクトリなどにPhantomJSの実行ファイルをコピーします。
$ cp -p phantomjs-2.1.1-linux-x86_64/bin/phantomjs ~/bin
バージョン確認
PhantomJS 2.1.1 が動くことが確認出来ました。
$ phantomjs -v 2.1.1
スクリーンショット取得
サンプルコード
以下のコードをpage_render.js
などのファイル名で保存します。
var page = require("webpage").create();
var system = require("system");
page.open("https://www.google.com/", function(status){
if (status === "success") {
page.render('google.png');
}
phantom.exit();
});
実行
PhantomJSを実行すると指定したパスにスクリーンショットの画像ファイルが保存されます。
$ phantomjs page_render.js
サンプルコード2
以下のサンプルはスクリーンショットではありませんが、6行目でサイトのソースコードを出力します。
var page = require("webpage").create();
var system = require("system");
page.open("https://www.google.com/", function(status){
if (status === "success") {
console.log(page.content);
}
phantom.exit();
});
以下のように実行するとソースコードがファイルに保存されます。
$ phantomjs page_render.js > sitehtml.txt
動作環境情報
エックスサーバー(x10) PhantomJS 2.1.1
コメント