2013-12-12 13 views
18

私はウェブサイトからスコア表を取得しようとしています。問題は、サイトが明らかにdocument.readyにロードするjavascriptを使用していることです。cURLを使用してJavaScriptによってロードされたWebコンテンツを取得する方法は?

私はテーブルを手に入れることはできません。そのページの上部にあるボタンをクリックするだけです。

これを解決する方法についてのご意見やご提案はありますか?

+0

あなたはのfile_get_contentsを試されます? – Hackerman

+0

これを試してください:http://stackoverflow.com/a/28506533/3063226 – Heitor

答えて

15

cURLは、ページのマークアップのみを表示します。追加のリソースがロードされたり、ページが処理されることはありません。このためにはPhantomJSのようなものを見たいでしょう。 PhantomJSは、ヘッドレスWebKitブラウザです。独自のAPIを備えており、動作を「スクリプト化」できます。したがって、PhantomJSにページをロードし、必要なデータをダンプするように指示することができます。

+0

あなたの答えをありがとう。これをJavaScriptとして実行し、execコマンドを使ってPHP変数にダンプを保存する必要があります。あれは正しいですか? – m33ts4k0z

+0

実際にする必要はありません。コマンドラインから直接実行できます。しかし、これをWebサイトに表示する場合は、PHPの 'exec'を使用できます。 –

5

あなたがやろうとしている正確に何に応じて、あなただけのテーブルを作るJSONデータをフェッチすることができます:

http://www.opap.gr/web/services/rs/betting/availableBetGames/sport/program/4100/0/sport-1.json?localeId=el_GR

+0

あなたの答えをありがとう。私は私の質問への答えとしてビビンズの答えをマークしますが、あなたもまた本当に良かったです。あなたはどのようにjsonコールを見つけましたか? – m33ts4k0z

+1

@ m33ts4k0z:問題ありません。 Chromeのデベロッパーツールの[ネットワーク]タブを使用して見つけました(他のブラウザでも同じことが可能です)。 'document.ready'が関係していたので、おそらくページが外部から情報をロードしたと思いました。 – Lasse

+0

@Lasse:リンクが機能していません。 –

関連する問題