0
点赞
收藏
分享

微信扫一扫

纯干货!PHP专题之开发爬虫(含源代码)


爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

我们平常使用搜索引擎浏览网页,有很多和预期的信息不匹配的结果;并且信息量巨大,有了结果以后还需要花费很大的精力进行筛选信息。爬虫应运诞生,我们可以写一段脚本或程序,让他根据我们的需求按照设定的规则进行抓取网页信息,并筛选出我们需要的结果。

首先,在PHP中可以获取万维网页面的函数有很多,例如:file_get_contents()或者curl扩展,再或者还有获取缓冲的ob_get_contents()等,最实用也是最常用的就是file_get_contents()了。例:

目标页面

纯干货!PHP专题之开发爬虫(含源代码)_PHP

代码及效果

纯干货!PHP专题之开发爬虫(含源代码)_编程语言_02

打开文件后的对比

纯干货!PHP专题之开发爬虫(含源代码)_IT_03

所以,我们可以利用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. 整合结果(写入文件)

//爬取前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 "写入成功";

结果:

纯干货!PHP专题之开发爬虫(含源代码)_PHP_04

打开其中前两页的效果

纯干货!PHP专题之开发爬虫(含源代码)_程序员_05

举报

相关推荐

0 条评论