前言:由于刚刚接触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/>"; }