使用PHP从页面加载内容通过AJAX刮取内容?

时间:2014-09-11 12:24:45

标签: php ajax html-parsing simple-html-dom

我需要从以下site抓取内容,以便我可以为我的运动队获得结果。 问题是,页面上的内容是在实际页面加载后加载的,所以不可能只使用框架作为simple_html_dom解析器,因为加载页面时数据不在DOM中。

任何人都可以提示如何从该页面获取数据,尽管它在页面加载后加载了大约一秒钟?

关于这一点的棘手部分是,内容似乎是通过asmx服务加载的,我似乎无法弄清楚它是如何工作的。看起来它首先获取实际调用服务的JavaScript函数,然后它发布到服务,并使用一些参数来实际获取内容。

我试过这个:

<?php
    $data1 = array ( 
        ageGroupID => "",
        callbackcontextkey => "AD660FACB92F5451B76F322F9284247F0044FCCE817DEE083B7B147100D853DEC61A0521423A76CD85C7B433DE4EB970",
        clubID => "1617",
        leagueGroupID => "",
        leagueGroupTeamID => "",
        leagueMatchID => "",
        playerID => "",
        regionID => "",
        seasonID => "2014",
        subPage => "6"
    );                                                                   

$data_string = json_encode($data1);                                                                                   

$ch = curl_init('http://badmintonpeople.dk/SportsResults/Components/WebService1.asmx/GetLeagueStanding');                                                                      
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
'Content-Type: application/json',                                                                                
'Content-Length: ' . strlen($data_string))                                                                       
);  
$result = curl_exec($ch);
echo $result; 

?>

我收到了这个回复:

  

{“消息”:“处理请求时出错。”,“StackTrace”:“”,“ExceptionType”:“”}

0 个答案:

没有答案