HTMLソースをダウンロードして解析するプログラムをPHPで作成しようとしています。問題は、js によって生成された html をダウンロードしようとしたときです。
関数 onload() が完了した後にファイルをダウンロードする機会はありますか?
ありがとう
HTMLソースをダウンロードして解析するプログラムをPHPで作成しようとしています。問題は、js によって生成された html をダウンロードしようとしたときです。
関数 onload() が完了した後にファイルをダウンロードする機会はありますか?
ありがとう
Javascript は実際にアクティブなコードであり、ブラウザーによって解釈される必要があるため、簡単な作業ではありません。サーバーから取得するのは実際の HTML であり、javascript が行うことはすべてクライアント側で行われ、Web ページを提供しているサーバーには完全に任せられます。一般に、これを静的解析で解決することはできません (つまり、実際にコードを実行せずに、コードを見て何が起こるかを推測します)。これを確実に行う唯一の方法は、実際に JavaScript を実行することです。
そうは言っても、おそらく、独自の JavaScript インタープリターをゼロから作成したくないでしょう。ブラウザーと同じように JavaScript インタープリターを備えているが、画面には表示しない「ヘッドレス」実装があります。仮想 DOM ですべての操作を行います。PhantomJSを調べてみてください。
編集誰かが基本的にあなたが求めていることを行うこの質問 を参照してください。あなたのケースではそのままで機能するはずです。
「純粋な」php ソリューションについては知りませんが、php を使用してスクリプトの実行を簡単に自動化できます。何らかの理由で PHP を使用し続ける必要がある場合は、「ヘッドレス DOM レンダラー」を探します。