0

GUI ブラウザーではなく、スクリプト (PHP、Python、Bash) を使用して Web ページをダウンロードする必要があります。問題は、Web ページが JS 対応ブラウザを扱っているかどうかを事前にチェックすることです。したがって、指定された URL から単純なダウンロードを使用して取得したのは最初のページだけです (この場合、Coursera コース ページについて考えます: http://pastebin.com/4tJJRMTu )。

スクリプトを使用して「実際の」コンテンツをダウンロードするにはどうすればよいですか? これまでのところ、そのような解決策(いくつかのクレイジーなもの)について考えることができます:

  • スタートアップページの JS が何をするかを理解し、スクリプトでこれを模倣し、おそらく別のページをロードします
  • Wireshark を使用してネットワーク トラフィックをスキャンし、ページのリクエストがページのABC1.htmlフェッチで終わるパターンを見つけます。ABC1body.html
  • ネイティブ(特定の言語の)ダウンロード機能の代わりに、外部ブラウザーを起動してページをダウンロードするだけです(exec Firefox --dump http://foo.bar/x.html-これは作成中です。スクリプト機能を備えたブラウザーがあるかどうかさえわかりません)。

そして他のアイデア?私はテストされたものに感謝します。

スクリプトをドロップして、代わりにブラウザ プラグインを作成することもオプションの 1 つですが、スクリプトを作成するための時間が既にあるので、スクリプトをゼロから作成するよりも修正する方が手っ取り早いようです。

4

1 に答える 1

2

PhantomJSをご覧ください。これは基本的にヘッドレス ブラウザであり、すべての機能を模倣しています。

node とphantomjs モジュールを使用すると、ページをダウンロードして、JavaScript への完全なアクセスを含め、ページを完全に制御できます。

var page = require('webpage').create();
var url = 'http://www.phantomjs.org/';
page.open(url, function (status) {
    //Page is loaded!
    phantom.exit();
});
于 2013-08-28T19:52:40.723 に答える