読者です 読者をやめる 読者になる 読者になる

Windowsでブラウザ自動キャプチャ - Nightmare / CasperJS (PhantomJS)

f:id:syonx:20150331173050p:plain

2016年2月追記

こちらの記事も参考にどうぞ。

syonx.hatenablog.com

モチベーション

with:

どう違うんや

コード比較があってよい。スッキリ書ける Nightmare でいこう。

PhantomJS

PhantomJS | PhantomJS

  • v2.0 がダウンロードできる(それがよいとは言っていない)

PhantomJS 2.0 was released on January 23, 2015.

Install Nightmare

> npm install nightmare

はいエラー

On Windows:

Python ならまだしも Visual Studio はちょっと。。
チーム開発でメンバに要求するにはナンセンスかな。
ということで Nightmare 断念。

Install CasperJS

CasperJS v1.0.4 (Stable) + PhantomJS v2.0.0

> set path=%path%;C:\util\casperjs-1.0.4\batchbin

> set path=%path%;C:\util\phantomjs-2.0.0-windows\bin

> casperjs
Couldn't find nor compute phantom.casperPath, exiting.

  C:\util\casperjs-1.0.4\batchbin\..\bin\bootstrap.js:241 in loadCasper

CasperJS はまだ PhantomJS v.2.0 に対応できていない。

CasperJS v1.1-beta3 + PhantomJS v2.0.0

> set path=%path%;C:\util\casperjs-1.1-b3\batchbin

> set path=%path%;C:\util\phantomjs-2.0.0-windows\bin

> casperjs
CasperJS needs PhantomJS v1.x

  C:\util\casperjs-1.1-b3\batchbin\..\bin\bootstrap.js:91 in __die

同上。

CasperJS v1.1-beta3 + PhantomJS v1.9.2

過去のリリース版のダウンロードはここ

> set path=%path%;C:\util\casperjs-1.1-b3\batchbin

> set path=%path%;C:\util\phantomjs-1.9.2-windows

> casperjs
CasperJS version 1.1.0-beta3 at C:/util/casperjs-1.1-b3, using phantomjs version 1.9.2
Usage: casperjs [options] script.[js|coffee] [script argument [script argument ...]]
       casperjs [options] test [test path [test path ...]]
       casperjs [options] selftest
       casperjs [options] __selfcommandtest

Options:

--verbose   Prints log messages to the console
--log-level Sets logging level
--help      Prints this help
--version   Prints out CasperJS version
--engine=name Use the given engine. Current supported engine: phantomjs and slimerjs

Read the docs http://docs.casperjs.org/

やっと成功。
似たようにハマってた人いた

キャプチャしてみる

google.js

var casper = require('casper').create();
 
casper.start('http://google.com/', function() {
    this.capture('google.png');
});
casper.run();
> casperjs google.js

f:id:syonx:20150331172049p:plain

エッフェル塔 完成 126 周年。おめでとうございます。

連続でキャプチャするサンプル

ブラウザテストのサンプル(公式)

教訓

  • Windowsに導入するのはちょっとだけつらい
  • チームで使うなら共用サーバを Linux で立ててそいつに入れるべし

MacBook Pro RetinaディスプレイMGX72J/A 2600/13.3

MacBook Pro RetinaディスプレイMGX72J/A 2600/13.3

WEB+DB PRESS Vol.77

WEB+DB PRESS Vol.77

  • 作者: 中川勝樹,山内沙瑛,舟崎健治,吉荒祐一,今井雄太,八木橋徹平,安川健太,近藤宇智朗,奥野幹也,天野祐介,賈成カイ,伊藤直也,住川裕岳,北川貴久,菅原一志,後藤秀宣,久森達郎,登尾徳誠,渡邊恵太,中島聡,A-Listers,小俣裕一,はまちや2,川添貴生,石本光司,舘野祐一,沖田邦夫,澤村正樹,卜部昌平,吉藤博記,片山暁雄,平山毅,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/10/24
  • メディア: 大型本
  • この商品を含むブログ (3件) を見る

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例