重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你是想抓别人网页上ajax动态载入的数据吧? 1、要找到它的ajax载入的URL地址 2、利用PHP的file_get_contents($url)函数读取那个url地址。 3、对抓取到的内容进行分析或正则过滤。
目前创新互联公司已为近1000家的企业提供了网站建设、域名、虚拟主机、网站托管、服务器租用、企业网站设计、京口网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
PHP Simple HTML DOM或者phpQuery可以直接取得某些div中的内容,里面有几个例子专门针对于网页抓取,调整好抓取频次,舍去已经存在的数据,你可以参考下
;id=57class=2
第一步,查看网页源代码,找到ajax请求的URL。
比如,js代码为:
$.ajax({
url: 'ajax.php?id=100',
data: {ad_num:num,ad_str:str,cart_update_time:cart_update_time},
type: 'POST',
dataType: 'text',
async : false,
success: function(data){
}
其中的ajax.php?id=100就是ajax请求的URL。
第二步,拼接URL,用网站的域名加上这个找到的请求路径。
比如,网站域名为: 拼接后的URL为:
第三步,用PHP读取第二步拼接出的URL即可。
?php
$rs=file_get_contents('');
preg_match('/table width="600" border="0" cellpadding="5" cellspacing="1" bgcolor="#EAEAEA"(.*?)\/table/sS',$rs,$match);
// print_r($match);
$rs = str_replace(array('/tr','/td','tr align="center"','td bgcolor="#FFFFFF"'),array('|',';'),$match[1]);
//
$data = array();
$rs = explode('|',$rs);
foreach($rs as $key=$item){
if($key0){
$arr = explode(';',$item);
($a = @trim($arr[0])) ($b = @trim($arr[5])) $data[] = array($a,$b);
}
}
print_r($data);
?