【開発メモ】サーバーにて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モードで起動
2. phantomJSを動かす(hubモードのseleniumと繋げる)
・requireやuse namespaceをつけ、
・PHPUnitというテスト用ライブラリクラスの継承とメソッド呼び出しを外し、
・firefoxになっていたcapabilityという変数をphantomJSに変えたもの。(ソース貼るべきだが割愛)
※参考 Selenium 使いのための PhantomJS 解説
* サーバー側でやらなければいけないこと selenium、WebDriver,phantomJSのインストール(2015/9/27現在未実施)
以下は、WebDriverのインストール手順
composerのインストール
WebDriver(facebookによる)をインストール
composer.json作成(localでつくったものをコピー)
composer実行
参考サイト_composer
curl
参考:
php-webdriver
※ PHPでステップ単位でのdebugができれば、EXCEL VBAのようにトライアンドエラーの開発ができる。デバッグ法については次にまとめる。
※追記
php 5.5 インストール(サーバー側)
※CentOS アーキテクチャ確認
-------------
その他メモ
結局、以下のような段取りとした
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
phantomjs --webdriver=8080 --webdriver-selenium-grid-hub=http://127.0.0.1:44443. 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 installcomposer導入を真面目に考える
参考サイト_composer
curl
参考:
php-webdriver
※ PHPでステップ単位でのdebugができれば、EXCEL VBAのようにトライアンドエラーの開発ができる。デバッグ法については次にまとめる。
※追記
php 5.5 インストール(サーバー側)
※CentOS アーキテクチャ確認
-------------
その他メモ
コメント
コメントを投稿