私の目標は、ウェブサイトのダイナミックなウェブコンテンツをダウンロードすることです。受信したコンテンツに対してjavascriptを実行する必要があります。私は現在、PhantomJS 2.1を使用していたコードは以下の通りです:PhantomJSでダイナミックWebコンテンツをダウンロードする際に問題が発生しました
var page = require('webpage').create();
var fs = require('fs');
page.open('https://sports.bovada.lv/soccer/premier-league', function() {
page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() {
page.evaluate(); // Edit: this line is removed
page.close();
});
});
page.onLoadFinished = function() {
console.log("Download finished");
fs.write('test.html', page.content, 'w');
phantom.exit(0);
};
コードが「test.htmlという」として受け取ったページを保存しているが、それがでないよう、残念ながら、それは完全なページのコンテンツをロードしていませんウェブブラウザ。誰かが私を助けることができたら、私は感謝します。テストに使用
ウェブサイト:https://sports.bovada.lv/soccer/premier-league
このサイトにはアクセスできません sports.bovada.lvが突然接続を終了しました。 ERR_CONNECTION_CLOSED – Vaviloff
サイトにジオロケーション制限があることがあります。とにかく別のサイト、例えばhttp://www.foxsports.com/soccer/scores?competition=1を試してみてください。 – shen
なぜ、 'page.onLoadFinished'と' page.open'のコールバックの両方を使用していますか?あなたは1つのページだけを開くと、それらは同等であるため、それらのうちの1つが必要です。また、達成しようとしている 'page.evaluate();は何ですか?さらに、古いバージョンのjQueryを読み込むと、ページが壊れる可能性があります。このページに付属のjQueryバージョンに頼ってください。 –