【開発メモ】サーバーにてjavaScript含むWebサイトのスクレイピングのための技術については、とりあえずのめどが立った

phantomJSを直接使う方法は、あまり便利ではないことがわかった(デバッグが難しい・・・やり方:「PhantomJSのリモートデバッギング的なアレ」、ソースの見た目もjavascriptのせいか、複雑に見える(参考))ので、
結局、以下のような段取りとした
1. macで、FireFox Pluginのselenium builderを使用し、動作を動作を記録し、phpスクリプト化した上で、修正を加える。
selenium builder 使い方
2. selenium 2 + phpスクリプト&WebDriver(phantomJS用)  +  phantomJSという構成でサーバー上で動かす。
※参考:seleniumの仕組み phpスクリプトサンプル php-WebDriverAPIリファレンス ghostDriver
※参考2:php + selenium スクリプト記法、シンプルなサンプル
selenium wiki(reference)

> 9.26 10:00
macで、
selenium server + phpでfirefoxを動かすことができるようになった。
selenium builder が生成するスクリプトは、そのままでは使えなかった。
>9.26 22:00
とりあえず、macで動くことは動いた。だが、phpのデバッグ法が分からないので、開発しにくい。

【やり方 】
1. seleniumをhubモードで起動

java -jar selenium-server-standalone-2..1.jar -role hub

2. phantomJSを動かす(hubモードのseleniumと繋げる)

phantomjs --webdriver=8080 --webdriver-selenium-grid-hub=http://127.0.0.1:4444
3. phantomJS向けwebDriverを呼び出すphpスクリプトを起動する。
php xxxx.php
この xxxx.phpは、selenium builderが生成したfirefox用scriptに
・requireやuse namespaceをつけ、
・PHPUnitというテスト用ライブラリクラスの継承とメソッド呼び出しを外し、
・firefoxになっていたcapabilityという変数をphantomJSに変えたもの。(ソース貼るべきだが割愛)

※参考 Selenium 使いのための PhantomJS 解説



* サーバー側でやらなければいけないこと selenium、WebDriver,phantomJSのインストール(2015/9/27現在未実施)
以下は、WebDriverのインストール手順
composerのインストール
curl -sS https://getcomposer.org/installer | php

WebDriver(facebookによる)をインストール
composer.json作成(localでつくったものをコピー)
composer実行
./composer.phar install
composer導入を真面目に考える
参考サイト_composer
curl
参考:
 php-webdriver

※ PHPでステップ単位でのdebugができれば、EXCEL VBAのようにトライアンドエラーの開発ができる。デバッグ法については次にまとめる。


※追記
php 5.5 インストール(サーバー側)

CentOS アーキテクチャ確認


-------------
その他メモ

mac terminal ログ 自動保存のヒント

PHPUnitというテスト用ライブラリ・・・きになるが、当面、調査の優先度低



コメント

このブログの人気の投稿

ブラウザ自動化(IEとVBA) inputタグ type=file の操作について

分散処理など

VBAでEdge操作は不可能ではないが、ナンセンス