纯干货!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. 整合结果(写入文件)

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

结果:

打开其中前两页的效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值