2011-01-31 4 views
0

javascriptでアクセスできるAPIを使用してコンテンツを生成しているため、ブラウザに表示されたポストロードのソースコードを取得できません。私はテキストを強調表示し、選択されたテキスト(Firefoxの機能です)のソースを見ることができますが、私はCURLを使って自動的にphpでデータをキャプチャします...どのようにデータをキャプチャできますか?それはいくつかの方法を表示するように(おそらくDOMの更新を介して)ソースを更新する方法はありますか?どんな助けもありがとうございます。javascriptによって生成されたコンテンツを自ら公開するように強制する

+0

ソースをデバッグして調べるためのツールがたくさんあります。どのブラウザを使用しているのかによって異なります。 –

+2

申し訳ありません。 Javascriptを使用していくつかのコンテンツを生成するページがあり、cURLを使用してページを取得するときに動的に生成されるコンテンツを確認したいのですか? – deceze

+0

はい、手動で表示する技術は私が必要としているものではありません。私は、javascriptまたはjqueryソリューションが必要です。 – atwellpub

答えて

2

あなただけのいくつかのHTMLソースを要求し、あなたがPHPでコンテンツを取得したい場合は、その後、あなたは

のいずれかになりますので、JSでそれを修正した結果は、JSを実行せずに所定の位置にあることを期待することはできません
    はリバース
  1. (私はPerlを使用していた場合、私はおそらくそれがMozreplを使用して、WWW::Mechanize::Firefoxに見てね。PHPはそれのために同様の素敵なAPIを持っている場合、私は知らない)JavaScriptを実行します何かを通じてHTMLを押し
  2. JavaScriptをエンジニアリングし、データを自分で取得するために何をしていてもかまいません。
0

デベロッパーツール(右上のレンチ - >ツール - >デベロッパーツール、またはCtrl + Shift + I(これは大文字のi))内のGoogle Chromeを使用してページソースをプルアップできます。開発者ツールに表示されるソースコードは、ページが最初に読み込まれた後にJavaScriptによって動的に生成されたものを含め、ページの最新のソースコードを表します。

他のブラウザも同様の機能を持っていると確信しています。私はちょうど私の頭の上からChromeの方法を知っています。

+0

これはブラウザを使用している場合に機能しますが、CLIはどうですか? – Blender

+0

WebkitとV8から必要なビットと断片をフォークしてコンパイルします。言い換えれば、最も簡単な方法は、JSをサポートしていないものに対して「事前レンダリング」フォールバックを提供することです。 –

0

開発環境がLinux/Unixの場合は、PjantonJSを組み込むことができます。これはJavaScriptを実行する非常に気の利いたツールで、出力を渡します。私がこれを行うことをお勧めする方法は、CLIのPhantomJSを実行している魔法使いのshell_exec()となります。

これが役に立ちます。

+0

これはWindowsでも動作するはずです。 –

関連する問題