12

PHPでcURLを使用してページを取得しています。すべて正常に動作しますが、ページが読み込まれた後、JavaScript で計算されたページの一部を取得しています。JavaScript の計算が完了する前に、cURL が既にページのソースを PHP スクリプトに送り返しているため、最終結果が間違っています。サイト上の計算は AJAX によって取得されるため、その計算を簡単に再現することはできません。また、ターゲット ページのコードにアクセスできないため、(cURL) フェッチのニーズに合わせてターゲット ページを微調整することもできません。

すべての動的トラフィ​​ックが終了するまで待機するように cURL に指示する方法はありますか? 一部の JavaScript は別のドメインにデータを送り返し続け、長時間ハングする可能性があるため、注意が必要です。しかし、少なくとも正しい結果が得られるかどうかをテストできます。

Safari の My Developer ツールバーは、ページが約 1.57 秒で完了したことを示しています。cURL に静的に 2 秒間待機するように指示することはできますか?

私は可能性が何であるか疑問に思います:)

4

4 に答える 4

3

取得しているページや含めたい計算についてはよくわかりませんが、それらのajaxリクエストを処理するURLに直接cURLするオプションである可能性があります。Firebugのようなものを使用して、ターゲットページで行われているAjax呼び出しを検査し、渡されたURLとパラメーターを把握できます。完全なWebページが必要な場合は、WebページとAjax URLの両方をcURLして、PHPコードで2つを組み合わせることができますが、それでは面倒になり始めます。

于 2013-01-31T12:42:25.993 に答える