1

HTMLソースをダウンロードして解析するプログラムをPHPで作成しようとしています。問題は、js によって生成された html をダウンロードしようとしたときです。
関数 onload() が完了した後にファイルをダウンロードする機会はありますか?

ありがとう

4

1 に答える 1

3

Javascript は実際にアクティブなコードであり、ブラウザーによって解釈される必要があるため、簡単な作業ではありません。サーバーから取得するのは実際の HTML であり、javascript が行うことはすべてクライアント側で行われ、Web ページを提供しているサーバーには完全に任せられます。一般に、これを静的解析で解決することはできません (つまり、実際にコードを実行せずに、コードを見て何が起こるかを推測します)。これを確実に行う唯一の方法は、実際に JavaScript を実行することです。

そうは言っても、おそらく、独自の JavaScript インタープリターをゼロから作成したくないでしょう。ブラウザーと同じように JavaScript インタープリターを備えているが、画面には表示しない「ヘッドレス」実装があります。仮想 DOM ですべての操作を行います。PhantomJSを調べてみてください。

編集誰かが基本的にあなたが求めていることを行うこの質問 を参照してください。あなたのケースではそのままで機能するはずです。

「純粋な」php ソリューションについては知りませんが、php を使用してスクリプトの実行を簡単に自動化できます。何らかの理由で PHP を使用し続ける必要がある場合は、「ヘッドレス DOM レンダラー」を探します。

于 2013-06-11T17:51:38.630 に答える