Python 爬虫:添加延时与用户代理

时间:2017-12-05 17:28来源:成都达内 作者:成都达内 点击:

  Python 爬虫:添加延时与用户代理

  延时下载功能

  有时候爬取网站的速度过快,会导致服务器负荷过重,或者直接封掉你的 IP 。为爬虫添加延时下载功能,可以让你的程序在爬虫同一个域名网站的时候,每次爬取之间等待一段时间。

  为此我们定义一个延时类:

  成都Python培训

  分析如下:

  在 __init__ 的构造函数中, self.delay 代表的是需要延时的时间,单位是 秒。 self.domains 从存储的是:以访问过的域名为键,最新一次访问时间为值的字典。

  wait 函数集为等待函数,其输入时当前要下载的网页地址 url 。从此地址中得到域名,查询这个域名上次访问的时间。 如果没有访问过此域名,则不睡眠。 如果访问过此域名,则计算需要睡眠多久,然后执行睡眠操作。最后,将此域名和当前访问时间存储在字典中。

  添加用户代理

  成都Python培训

  其中,headers 用于设置用户代理信息。 proxy 用于设置 IP 代理信息。

  将延时功能整合到 download 下载中。

  成都Python培训

  其中 throttle 参数是一个 Throttle 类的一个实例。

  对于 python 爬虫还可以添加其他的功能,例如缓存功能,可以使用文件缓存或者数据库缓存。个人感觉数据库缓存可能相对方便一些。有兴趣的话可以查看参考书籍,这里就不详细的介绍了。对于一般的情况,上述的下载网页源代码的函数已经够用了。

  成都Python培训哪家好,当然是成都达内培训,成都达内是一家专业的程序员培训机构,专注于网络营销课程,成都Python培训,成都软件测试培训,成都php培训,成都java培训,成都安卓培训,成都会计实操培训,web前端开发,成都网络营销培训,成都it培训,成都编程培训,成都程序员培训等IT培训,专业的成都软件培训机构,专业师资授课,真实项目实战、零首付、低押金、名企就业,达内培训,成都Python培训学校www.cdtedu.com/pxkc/py/

(责任编辑:成都达内)

未获取畅言代码,错误消息:sign error

CopyRight © 2002-2016 成都达内科技职业技能培训学校 (www.cdtedu.com) 版权所有 成都达内 川公网安备 51019002000307号 网站地图