2011-01-22 5 views
1

좋아,이 페이지가 있습니다. 콘텐츠를 가져 오려고합니다. 그러나 통계는 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에서 통계를 원하십니까? 자바 스크립트가 인라인 인 경우 문서 본문의 일부입니다. –

+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 ; 
    } 
} 
관련 문제