BLOGTIMES
2011/12/13

phantomjs コマンドラインから実行できる Webkit ベースのブラウザ

  javascript  cli 
このエントリーをはてなブックマークに追加

phantomjs で撮った cles::blog のスクリーンショット - phantomjs コマンドラインから実行できる Webkit ベースのブラウザ

ちょっと周回遅れ気味ですが phantomjs というライブラリという面白そうなライブラリを見つけたのでメモ。

PhantomJS: Headless WebKit with JavaScript API

PhantomJS is a headless WebKit with JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.
PhantomJS is an optimal solution for fast headless testing, site scraping, pages capture, SVG renderer, network monitoring and many other use cases.

CUIのアプリですが内部は Webkit ベースなので、HTMLを読み込んで JavaScript の評価後の HTML をレンダリングすることができます。似たような物としてはスクレイピングの時に使われる Mechanize のようなものがありますが、phantomjs は GUI がないだけであくまで完全なブラウザと言えるものので、JavaScript を解釈しないとうまく動かないようなページもきちんと動かすことができます。また、URLの一覧を入力にして、それらのスクリーンショットを撮るようなバッチを書ことも簡単にできます。

コンパイル済みのバイナリは「Downloads - phantomjs」からダウンロードできます。 Windows 版もあるので手軽に試せるのがいいですね。例えば phantomjs-1.3.0-win32-dynamic.zip をダウンロードして解凍し、コマンドラインから下記のようなコマンドを実行するだけで、右のようなスクリーンショットを得ることができます。

phantomjs.exe --cookies-file=cookies.txt --disk-cache=yes --load-images=yes --load-plugins=yes --local-to-remote-url-access=yes examples\rasterize.js http://blog.cles.jp blog_cles_jp.png

コマンドラインから実行できて、かついろいろ応用が利きそうなのでもう少し使い込んでみようと思います。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/4642
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン