1.重试下载确保download函数在5xx错误时候重试下载
2.设置用户代理
为了下载可靠,我们需要控制用户代理的设定,需要在download中设置一个默认的用户代理“wswp”
3.网站地图爬虫
解析网站地图,用一个简单的正则表达式,从<loc>标签中提取url(在这里,要先查看html,查看url在哪里,然后写正则表达式)
4 id遍历爬虫
在这我们把http://bbs.csdn.net/topics/392192840/作为爬虫的对象
根据url来看,只有url结尾处有所区别,包括话题和ID
一般情况下服务器会忽略这个字符串,只使用ID来匹配数据库中的操作记录,
下面是代码片段
上面代码实现的爬虫需要五次下载错误才会停止遍历。避免了因为中途的ID不可以导致停止遍历
5.链接爬虫
在这里,我们使用正则表达式来确定需要下载哪些页面,下面是代码
高级功能
解析robots.txt
1.使用Python自带的robotparser模块,首先模块先加载robot.txt,然后通过can_fetch,来确定制定的用户代理是否允许访问网页
2.当用户代理设置为badcrawler,模块返回结果表明无法获取网页,所以要在crawl中添加检查
网友评论