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

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

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

目标页面

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

代码及效果

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

打开文件后的对比

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

所以,我们可以利用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专题之开发爬虫(含源代码)

相关文章:

  • 2021-11-25
  • 2022-12-23
  • 2021-05-24
  • 2022-01-04
  • 2021-08-20
  • 2021-07-20
  • 2021-09-22
猜你喜欢
  • 2021-12-11
  • 2021-12-18
  • 2021-10-19
  • 2021-10-23
  • 2021-05-23
  • 2021-09-10
相关资源
相似解决方案