1. 程式人生 > >php采集彩票開獎數據

php采集彩票開獎數據

imp cda 函數 true 代碼 網站 expec 火狐 load

前言:由於剛剛接觸curl函數,覺得功能強大,於是從網上搜索教程自己寫了個抓取圖片的方法.第二天想繼續練練手,就去500彩票網站抓彩票的開獎數據.結果折騰了半天也采集不到,在網上查詢了半天也沒有找到.於是自己著手寫了一下,代碼僅供參考

開獎地址:http://kaijiang.500.com/ssc.shtml

本人使用火狐瀏覽器,F12開啟調試模式,點擊Network,點擊XHR

技術分享圖片

此時,F5刷新頁面,獲取接口地址

技術分享圖片

技術分享圖片

接口地址:http://kaijiang.500.com/static/public/ssc/xml/qihaoxml/20171220.xml

//xml字符串轉化成數組函數
function xmlToArray($xml){ 
 //禁止引用外部xml實體 
libxml_disable_entity_loader(true); 
$xmlstring = simplexml_load_string($xml, ‘SimpleXMLElement‘, LIBXML_NOCDATA); 
$val = json_decode(json_encode($xmlstring),true); 
return $val; 
} 

//初始化curl會話
$ch = curl_init();
//設置地址
$url = ‘http://kaijiang.500.com/static/public/ssc/xml/qihaoxml/20171220.xml‘;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//執行curl請求,接收返回數據
$data = curl_exec($ch);
//將xml字符串轉化成數組
$arr = xmlToArray($data);
//四維數組->三維數組
$arr = $arr[‘row‘];
//定義一個結果數組,來保存開獎信息
$res=array();

foreach($arr as $k=>$v){
    $res[]=$v[‘@attributes‘];
}
//var_dump($res);
foreach($res as $k=>$v){
    echo ‘期號‘.$v[‘expect‘].‘開獎號碼‘.$v[‘opencode‘]."<br/>";
}

php采集彩票開獎數據