投稿

ラベル(phantomJS)が付いた投稿を表示しています

【開発メモ】phantomJSは動きが怪しいので断念、firefoxをサーバーでヘッドレスで動かせるらしいので、サーバーにもfirefoxを置くことにした

https://github.com/ariya/phantomjs/issues/11526 5分おきに繰り返される画面cleanupで、操作がキャンセルされる。forumでも解決していない。 firefoxをサーバーにおくことにした。macでfirefoxでのスクレイピング動作確認はできている。 サーバーに実行したコマンド yum -y install java-1.7.0-openjdk.x86_64 java-1.7.0-openjdk-devel.x86_64 yum -y groupinstall "Japanese Support" yum -y install xorg-x11-server-Xvfb firefox bash.profile変更  Xvfb :1 -screen 0 1024x768x24 & firefox & firefox -display :1 -remote "openurl(http://www.phalanxware.com)" & dbus-uuidgen > /var/lib/dbus/machine-id yum -y install ImageMagick メイン参考:xvfbとfirefoxでseleniumをヘッドレスに起動する手順 http://www.bunkei-programmer.net/entry/2014/10/16/015439 画面をキャプチャしたい~importコマンド~ http://www.itmedia.co.jp/help/tips/linux/l0411.html 「dbus-uuidgen > /var/lib/dbus/machine-id」の件 http://qiita.com/PharaohKJ/items/88e9f6a19406ee41e155 あす、seleniumも設置し、動作確認する。

【開発メモ】サーバーにて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 na...

【開発メモ】selnium2を使ってのサーバーでのスクレイピング調査は中止、PhantomJSを検討

selnium2 Webdriverをスクレイピングに使うことは断念。 理由:selnium2の動作には、ブラウザが必要なため。serversmanのcentosにGUIがあるのか不明だし、なくても動くのか、よくわからない。それを調べるより、ヘッドレスのブラウザとして動くphantomJSを使った方が早そう。 しかしあとあとselnium2 Webdriver、selnium2 Builderを使ってテストやWeb画面操作の自動化をすることがあると思うので、調査は無駄ではなかった。excel vbaによる自動化よりも、柔軟かつスマートに自動化できるのではと淡く期待している。 追記:selnium2 Webdriver + phantomJSという形にもできるらしい。これが一番いいかもしれないが、まずは単独でphantomJSを使ってみる。 ------------------------------------- # 以下、phantomJSを使うためのjavascript復習 http://itpro.nikkeibp.co.jp/article/COLUMN/20061023/251565/ 同じ名前のローカル変数は、グローバル変数を隠蔽する。(C言語。JavaScriptも同じ) ----------------------------- # Perfect Javascriptを読んでメモ。 javascriptのローカル変数は、関数内の途中からの宣言であっても、先頭からグローバル変数を隠蔽する。 ブロックスコープはない。ただし、 JavaScriptの独自拡張のletで宣言された変数は、ブロック内スコープとなる。 p.180 関数リテラルをその場で呼び出す、JavaScript特有のイディオム ------------------------------ FireBugにてあらゆるページにjQueryを適用したいので、簡単にjQueryをインクルードできないか探していたが、あまりスマートな方法はない。( 参考 ) FireQueryというのがあるらしいので使ってみる。 http://h2ham.seesaa.net/article/123196931.html  →conso...