1

cURL や (PHP では) ストリーム コンテキスト/ などを使用しfile_get_contentsてページの開始 HTML マークアップを取得するのは非常に簡単ですが、最近では非常に多くのページが JS によって大きく制御されているため、ページの開始マークアップを取得したとしても、ページの実際の構成が何であるかを簡単に判断することはまだできません (ページの大部分がクライアント側で実行されている JS によって構成されているため)。

そのため、cURL などを使用して、ページのすべてのオンロード JS が実行された後に、ページの DOM 構造全体を取得することは可能ですか?

(補足情報として、Chrome 開発ツールなどを使用して DOM 構造を取得できることは知っていますが、プロセスを自動化する方法があるかどうか疑問に思っています。)

どうもありがとうございました。

4

1 に答える 1

2

ブラウザで実行してから、 の内容を取得する必要がありdocument.documentElement.outerHTMLます。

これはPHPだけでは不可能だと思います。以下を使用する必要があります。

  • ファントムJS

    PhantomJS は、JavaScript API でスクリプト可能なヘッドレス WebKit です。標準の DOM API または jQuery などの通常のライブラリを使用して、Web ページにアクセスして操作します。

  • またはSlimerJS

    SlimerJS は PhantomJs に似ていますが、Webkit の代わりに Mozilla Firefox のブラウザー エンジンである Gecko を実行する点が異なります。

于 2013-08-16T01:40:40.520 に答える