2011-01-22 17 views
1

OK、このページがあります。コンテンツを取得したいのですが、統計情報はJavaScriptで作成されています。私は統計を得る方法はありますか?私はPHP get_contentを使って試しました...スクリプトタグ内にあるウェブページのコンテンツを取得する

ここに私が得たいページにある例があります。この<script><body>タグの間です。

<script> 

na=0; 
S=new Array; 
S[na]="|Beal|3266561|137|131|1170664|714062|1378742|2375|128|322|"; na++; 
S[na]="|Marine|2446933|165554|125613|1116688|652869|187250|23773|27019|148167|"; na++; 
S[na]="|Krackle1|2306919|342794|440503|372482|238609|442226|146516|177399|146390|"; na++; 
S[na]="|LawyerUpSir|1666817|60579|236847|379476|219395|446057|149787|151306|23370|"; na++; 
S[na]="|IKillToWin|1657426|94695|214229|800157|446579|59618|9132|8861|24155|"; na++; 
S[na]="|Farts|1644623|6885|8790|972072|586678|49249|10558|2838|7553|"; na++; 

</script > 
+0

あなたはPHPで統計情報を取得しますか? JavaScriptがインラインである場合、それはドキュメントの本体の一部です。 –

+1

もちろん、あなたはそのサイトのコンテンツを使用する許可を得ています。 –

答えて

1

file_get_contents()でリモートから取得すると、ページのソースがあることを意味します。次に、正規表現を使用して、そのソースコード内のすべての行をS[na]で始まり、次に|で展開して配列形式で取得する必要があります。そうすれば、実行可能な形式のデータを得ることができます。

$content = <<<END 
<script> 

na=0; 
S=new Array; 
S[na]="|Beal|3266561|137|131|1170664|714062|1378742|2375|128|322|"; na++; 
S[na]="|Marine|2446933|165554|125613|1116688|652869|187250|23773|27019|148167|"; na++; 
S[na]="|Krackle1|2306919|342794|440503|372482|238609|442226|146516|177399|146390|"; na++; 
S[na]="|LawyerUpSir|1666817|60579|236847|379476|219395|446057|149787|151306|23370|"; na++; 
S[na]="|IKillToWin|1657426|94695|214229|800157|446579|59618|9132|8861|24155|"; na++; 
S[na]="|Farts|1644623|6885|8790|972072|586678|49249|10558|2838|7553|"; na++; 

</script> 

...some HTML here.. 

END; 

$matches = array() ; 
preg_match_all("/S\[na\]\=\"\|(.*)\"\;\sna\+\+\;/", $content, $matches) ; 

$stats = array() ; 
if (count($matches) > 0 && is_array($matches[1])) { 
    foreach ($matches[1] as $match) { 
     $stats[] = $match ; 
    } 
} 
関連する問題