私はおそらく、ヘッドレスブラウザによって掻き取られたことから何らかの形で保護されているページを持っていますが、確かにわかりません。ことは、ブラウザでは、よく読み込まれ、javascriptが実行され、すべてが良いです。 phanthomjsを使用している場合、javascriptが実行されないか、その他の問題が発生するようです。PhanthomJsによってURLを掻き取ることができません
どうすればわかりますか?あなたはそのページを掻き集めるのに何をお勧めしますか?
私はおそらく、ヘッドレスブラウザによって掻き取られたことから何らかの形で保護されているページを持っていますが、確かにわかりません。ことは、ブラウザでは、よく読み込まれ、javascriptが実行され、すべてが良いです。 phanthomjsを使用している場合、javascriptが実行されないか、その他の問題が発生するようです。PhanthomJsによってURLを掻き取ることができません
どうすればわかりますか?あなたはそのページを掻き集めるのに何をお勧めしますか?
ここには、指定されたURLへのリクエストが成功したかどうかをコンソールに出力する基本的なphantomjsスクリプトがあります。これは、ページにアクセスできるかどうかを確認するのに役立ちます。あなたが成功を収めたら、あなたは掻きすることができるはずです。そうすれば、ヘッドレスブラウザではなくJSを引き起こしていると思うでしょう。 「失敗した」と表示された場合は、実際のブラウザのように見せるためにuserAgent設定を設定することができます。
var page = new WebPage();
// Uncomment the next line to set the user agent.
//page.settings.userAgent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36';
page.open('http://www.google.ca', function (status) {
if (status !== 'success') {
console.log('Unsuccessful');
} else {
console.log('Successful')
}
phantom.exit();
});
希望するURLにhttp://www.google.ca
を変更します。
@ArtjomB。、それは私のウェブサイトです。 – Jio
ファントムがクラッシュしますか? empyページを返しますか? いくつかのコードがありますか?phantomjsを呼び出す方法は? また、User-Agentを設定しようとしています – gosom
@ Jioコードを表示することも、単純化したバージョンを表示することもできますか?可能であれば、あなたが掻き取ろうとしているURL。 – user3366016