2

重複の可能性:
JavaScript 対応のクローラーを作成する

JavaScript を使用してレンダリングするページを処理できる PHP ベースの Web スクレーパーの基礎として何を使用するかを理解しようとしています。多くの Web サイトのスクレイピング試行 (少なくとも私が処理するもの) は、それらのページの JS が実行されない限り失敗します。ページは、スクリプトなしの実装に正常にフォールバックするようには構築されていません。これには、AJAX を多用するものも含まれます。

最新の JavaScript に大きく依存する Web ページを処理できる Web スクレーパーの開発をどこから始めるべきかについて、誰か提案がありますか?

PHPで使えるものがベストです。

4

5 に答える 5

3

ヘッドレス モードで Web ブラウザー エンジンを使用して、ページを読み込んで DOM を分析することができます。いくつかのグーグルは私をhttp://phantomjs.org/に向けました

于 2012-09-13T21:12:05.827 に答える
1

ajax を頻繁に使用するサイトでは、ページと同じ URL を呼び出すだけで、ページをリクエストするのではなく、その応答に基づいてサイト コンテンツを作成します。

document.write またはそれに相当するフレームワークが重いサイトでは、スペースを削除するか、単純な正規表現を使用してタグまたは関連コンテンツを照合し、それを要求するページではなく、責任のあるスクリプトを再度要求することができます...

于 2012-09-13T21:09:45.797 に答える
1

ブラウザー自動化ツールであるSeleniumを使用してから、PHP バインディングherehereまたは hereのいずれかを使用して、PHPから Selenium を自動化できます。

于 2012-09-13T21:14:07.770 に答える
0

PHP には JavaScript エンジンが必要です。または、コマンド ラインのヘッドレス Webkit です。それでも、それは非常に複雑になります。したがって、短い答えは次のようになります。いいえ、申し訳ありませんが、それはできません。

于 2012-09-13T21:11:29.803 に答える
0

PHP は V8 エンジンをサポートしているので、javascript を V8 に渡すことができると思います。ただし、これを行うには単純な PHP 以外のものを使用します。

于 2012-09-13T21:12:37.677 に答える