php采集彩票开奖数据

前言:由于刚刚接触curl函数,觉得功能强大,于是从网上搜索教程自己写了个抓取图片的方法.第二天想继续练练手,就去500彩票网站抓彩票的开奖数据.结果折腾了半天也采集不到,在网上查询了半天也没有找到.于是自己着手写了一下,代码仅供参考

开奖地址:http://kaijiang.500.com/ssc.shtml

本人使用火狐浏览器,F12开启调试模式,点击Network,点击XHR

php采集彩票开奖数据_第1张图片

 

此时,F5刷新页面,获取接口地址

php采集彩票开奖数据_第2张图片

php采集彩票开奖数据_第3张图片

 

 接口地址: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']."
"; }

 

转载于:https://www.cnblogs.com/xxrf/p/8074202.html

你可能感兴趣的:(php采集彩票开奖数据)