php抓取网页动态数据,如何抓取动态网页数据
请问php怎样抓取其它网站的动态数据,显示在自己的网页内并同步更新。
刚吃完午饭吧,来帮你实现一下吧。记得加分哦。
成都地区优秀IDC服务器托管提供商(创新互联公司).为客户提供专业的绵阳电信机房机柜租用,四川各地服务器托管,绵阳电信机房机柜租用、多线服务器托管.托管咨询专线:028-86922220
$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;
PHP怎样抓取网页代码中动态显示的数据
PHP Simple HTML DOM或者phpQuery可以直接取得某些div中的内容,里面有几个例子专门针对于网页抓取,调整好抓取频次,舍去已经存在的数据,你可以参考下
;id=57class=2
php如何获取网页动态内容
这是请求报头中的Accept-Language的关系了。
这样一来,你只是使用file_get_contents函数就实现不了这个功能了。
能够模拟浏览器发送各种报头,甚至是登录用cookie的扩展有不少,Curl就是其中之一。
你需要去网上去寻找相关的文章仔细了解一番,再做打算:
下面是PHP官网关于CURL扩展的手册:
【Client URL Library】
当前名称:php抓取网页动态数据,如何抓取动态网页数据
文章网址:http://scyanting.com/article/heogpp.html