質問: 初めてPHP Curlを使用しています。私の目的は、マシンからデータを取得している複数のWebサイトからデータを取得して収集するボットを作成することです(私がデータを所有していることは正確です。私にとってのポイントは、すべてを1つのポイントで収集することだけです)。私はそれらのウェブサイトにログインして、いくつかのデータを取得することができました。 file_get_contents関数のおかげで、iframe内でデータを取得することもできました。 しかし、(Iframeではなく)単純なフレーム内でhtmlを取得しようとすると、機能しません。以下のフレーム要素のURLを使用しました(完全なURLで可能です)。エラーは発生しません。私はいくつかのhtml要素を取得しますが、私が探しているhtmlはありません。 HTMLの本文が表示されますが、ほとんど空です。 php / curlに与えるURLについては完全に確信しています。フレーム内にhtmlを取得するにはどうすればよいですか? これが、データを取得しようとしているページに表示されているフレーム要素です。 (これは私がphp / curl応答から得たものではありません): ``` The html i'm looking for is here Copy code ``` だから何も派手ではありません。 私はこの投稿を見ました:フレームでPHP CURLを使用する方法は?しかし、問題は実際には同じではなく、答えはiframeに関するものであり、html要素があると想定しています。 助けてくれてありがとう。
回答: ### 答え : #### 解決: HTMLの一部はJavascriptを使用して生成されているのではないかと思います。その場合、ページが最初に読み込まれたときには存在しないため、cURLなどのブラウザ以外のクライアントを使用した単純なリクエストでは表示されないか、ダウンロードされる可能性があります。追加のAJAXリクエストを介して-この場合、AJAXが使用するURLに直接リクエストを行うことでリクエストを取得できる可能性があります。または、2つの組み合わせですら。ブラウザの開発ツールを使用してページを詳しく調べると、コンテンツが実際にどのように作成されているかを理解するのに役立つ場合があります。 最近のページには、後で読み込まれたり、スクリプトによって生成されたりするコンテンツが含まれることがよくあります。したがって、生の元のHTMLの基本的なダウンロードでは、その余分なコンテンツをキャプチャできません(コードを実行し、余分なHTMLをダウンロード/作成できるJavascript環境がないため)。このようなページを完全に読み込むには、ヘッドレスブラウザ、または高度なGoogleクローラーを備えたWebクライアントが必要です。