编写第一个网络爬虫

1.重试下载确保download函数在5xx错误时候重试下载


编写第一个网络爬虫_第1张图片

2.设置用户代理

为了下载可靠,我们需要控制用户代理的设定,需要在download中设置一个默认的用户代理“wswp”


编写第一个网络爬虫_第2张图片

3.网站地图爬虫

解析网站地图,用一个简单的正则表达式,从标签中提取url(在这里,要先查看html,查看url在哪里,然后写正则表达式)


编写第一个网络爬虫_第3张图片

4 id遍历爬虫

在这我们把http://bbs.csdn.net/topics/392192840/作为爬虫的对象

根据url来看,只有url结尾处有所区别,包括话题和ID

一般情况下服务器会忽略这个字符串,只使用ID来匹配数据库中的操作记录,

下面是代码片段


编写第一个网络爬虫_第4张图片

上面代码实现的爬虫需要五次下载错误才会停止遍历。避免了因为中途的ID不可以导致停止遍历

5.链接爬虫

在这里,我们使用正则表达式来确定需要下载哪些页面,下面是代码


编写第一个网络爬虫_第5张图片

高级功能

解析robots.txt

1.使用Python自带的robotparser模块,首先模块先加载robot.txt,然后通过can_fetch,来确定制定的用户代理是否允许访问网页

2.当用户代理设置为badcrawler,模块返回结果表明无法获取网页,所以要在crawl中添加检查

你可能感兴趣的:(编写第一个网络爬虫)