2

ファントムjsを使用してスクリーンスクレイピングを試みています。

このサイトからいくつかの phantomjs コードをコピーしました: http://snippets.aktagon.com/snippets/534-How-to-scrape-web-pages-with-PhantomJS-and-jQuery

そのスクリプトから始めて、次のように変更しました: http://jsfiddle.net/dqfTa/ (javascript を参照)

私の目的は、「.price」タグの内部 html である Web サイトから価格を収集して、javascript 配列にすることです。現在、それらを自分の画面に console.log() しようとしています。

ubuntu 12.04 コンソールから phantomjs v1.6 と jquery v1.8 を実行しています。ユーザーエージェントを「iPhone」に設定しています。

ここに私の出力があります:

nwo@aws-chaos-us-w-1:~/sandbox$ phantomjs  usingjqueryandphantom.js
hello
success
============================================
Step "0"
============================================

ステップ 0 を超えることはありません。コードを見てください。実行しました console.log("h1");が、出力されません。ここで何が間違っていますか?

4

1 に答える 1

4

Phantomjs では、そのページ コンテキストからのコンソール出力にフックする必要があります。APIリファレンスから:

このコールバックは、Web ページに JavaScript コンソール メッセージがある場合に呼び出されます。コールバックは、メッセージの文字列、行番号、およびソース識別子の 3 つまでの引数を受け入れることができます。

デフォルトでは、Web ページからのコンソール メッセージは表示されません。このコールバックを使用することは、リダイレクトする一般的な方法です。

page.onConsoleMessage = function(msg) {
    console.log("This message came from the webpage: "+ msg);
};
于 2012-11-26T00:40:42.800 に答える