使用php的curl根据关键词爬取百度搜索结果页 phpcurl爬虫爬取百度推广内容 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 推广的内容是页面加载后再调用js二次请求获取,写入页面的。所以用curl只能获取到html有的东西。而js加载的,你需要再用curl去获取它js获取的url得到。 你的user-agent没有模拟好,所以不行。其实根本不需要用post,直接用get就可以了。修改如下:$url = "http://www.baidu.com/s?wd=生命动力";$header = array ( 'User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36');$ch = curl_init ();curl_setopt ( $ch, CURLOPT_URL, $url );curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );// 执行$content = curl_exec ( $ch );if ($content == FALSE) { echo "error:" . curl_error ( $ch );}// 关闭curl_close ( $ch ); //输出结果echo $content; 感谢你的回复。你的结论是正确的。我这里还有一个问题,就是抓取到的网页图片第一次运行可以显示,之后就显示不了了。查看源代码发现获取到的图片地址是真实地址啊,但就是显示不了,请问有什么思路可以绕过这个防外链。在curl伪造来路好像也行不通。 php程序的模板标签 QQ联合登录问题 =============问个问题================= 有关dns,本来是不想放在这的。看这人多,就放这了。 (源创)最近我研究搜索引擎 七 (长长中国人的志气篇) 如何创造搜索引擎的新时代 判断语句,请帮帮忙,谢谢 关于文件上传的问题 麻烦帮忙检查一下错误,谢谢 在一个网站中登陆,能调用另一个网站的后台数据库吗? 求助:登录信息共享问题 打击来看看,为什么post过来的数据为空 mvc模式中如何隐藏入口文件呢
而js加载的,你需要再用curl去获取它js获取的url得到。
其实根本不需要用post,直接用get就可以了。
修改如下:$url = "http://www.baidu.com/s?wd=生命动力";$header = array (
'User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36'
);
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
// 执行
$content = curl_exec ( $ch );
if ($content == FALSE) {
echo "error:" . curl_error ( $ch );
}
// 关闭
curl_close ( $ch );
//输出结果
echo $content;
感谢你的回复。你的结论是正确的。我这里还有一个问题,就是抓取到的网页图片第一次运行可以显示,之后就显示不了了。查看源代码发现获取到的图片地址是真实地址啊,但就是显示不了,请问有什么思路可以绕过这个防外链。在curl伪造来路好像也行不通。