十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一般来说,PHP采集数据最简单的办法是使用file_get_content函数,功能更强大的推荐使用cURL函数库。
创新互联专注于成华网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供成华营销型网站建设,成华网站制作、成华网页设计、成华网站官网定制、小程序制作服务,打造成华网络公司原创品牌,更为您提供成华网站排名全网营销落地服务。
$strPreg = "|td[^]+([^]+)\/td\s*td[^]+([^]+)\/td\s*td[^]+([^]+)\/td|U";
搞定了才发现你都没悬赏分。。。
虽说我没写过,但作为看过一些基础知识的开发者还是可以给你一些提议的
首先就是数据源,也就是采集的目标,你必须十分清楚目标源URL的规律并总结出对应的算法,这样每次开奖后只需要从用算法算出来的URL取数据,再利用后面的步骤挖掘数据基本上就可以了
其次是数据挖掘,说人话就是找金子,从数据源URL中把整个网页的代码都down下来(其实这才是我们需要的数据源),然后你必须十分了解该网页的结构规律,再根据规律用算法将关键的部分筛选出来,根据源网站的规则将这些关键数据排在一起
当然你要考虑的问题还有一个,那就是在什么时间去采集数据,对于返回回来的各种数据要如何应对。光这一点就很伤脑筋了,因为你有可能down下来的是404页面,有可能是503、504等错误页面,要考虑的问题还是很多的。我是不懂什么双色球了,就数据采集和数据挖掘这块凭我那还没生锈的脑子希望能给你一些帮助吧
刚吃完午饭吧,来帮你实现一下吧。记得加分哦。
$url = "";
$queryServer = curl_init();
curl_setopt($queryServer, CURLOPT_URL, $url);
curl_setopt($queryServer, CURLOPT_HEADER, 0);
curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, true);
curl_setopt($queryServer, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($queryServer, CURLOPT_TIMEOUT, 30);
$html = curl_exec($queryServer);
$html = iconv('UTF-8','GBK//IGNORE',$html); //如果你需要是的数据是utf-8编码的,这一行可以注销,如果需要gbk编码的,请保留.如果出现乱码,就是一行的问题,你自己调着试吧
//echo $holder;exit; 此处可以输出来测试.
$html = str_replace(array("\n","\r","\t"),"",$html);
$preg = '/table\s+width=\"800\"[^]+(.*?)\/table/';
preg_match_all($preg,$html,$out);
//匹配每行
preg_match_all('/tr[^]+(.*?)\/tr/',$out[1][0],$tr);
//匹配每个td
$result = array();
$match = '/td.+([^]+)\/td/U';
foreach( $tr[0] as $key = $value ){
preg_match_all($match,$value,$arr);
$result[] = $arr[1];
}
//输出测试,$result就是你要的数据,至于你要怎么输出显示格式,那就随心调就好了。
foreach( $result as $key = $value ){
echo implode("\t",$value);
echo "br";
}
exit;