PHP开发爬虫 爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 我们平常使用搜索引擎浏览网页,有很多和预期的信息不匹配的结果;并且信息量巨大,有了结果以后还需要花费很大的精力进行筛选信息。爬虫应运诞生,我们可以写一段脚本或程序,让他根据我们的需求按照设定的规则进行抓取网页信息,并筛选出我们需要的结果。 首先,在PHP中可以获取万维网页面的函数有很多,例如:file_get_contents()或者curl扩展,再或者还有获取缓冲的ob_get_contents()等,最实用也是最常用的就是file_get_contents()了。例: 目标页面
代码及效果
打开文件后的对比
所以,我们可以利用file_get_contents()来进行爬虫的开发。 步骤: 1. 分析url规则 第一页:http://tieba.baidu.com/f?ie=utf-8&kw=php 第二页:http://tieba.baidu.com/f?kw=php&ie=utf-8&pn=50 第三页:http://tieba.baidu.com/f?kw=php&ie=utf-8&pn=100 在第一页后面加上&pn=0也是同样的第一页的内容,所以,每一页的pn参数都会递增50 可以总结为:&pn=(当前页码-1)*50
2. 根据规则进行循环爬取内容 3. 根据需求进行正则匹配需要的内容(可以根据实际要求进行) 4. 整合结果(写入文件) 代码: [PHP] 纯文本查看 复制代码 //爬取前3页
for($i=1;$i<3;$i++){
$str = file_get_contents("http://tieba.baidu.com/f?kw=php&ie=utf-8&pn=".($i-1)*50);
$err = file_put_contents("./page".$i.".html",$str);
if(!$err){
die("写入失败");
}
}
echo "写入成功"; 结果:
打开其中前两页的效果
|