


Python培训
400-996-5531
延时下载功能
有时候爬取网站的速度过快,会导致服务器负荷过重,或者直接封掉你的 IP 。为爬虫添加延时下载功能,可以让你的程序在爬虫同一个域名网站的时候,每次爬取之间等待一段时间。
为此我们定义一个延时类:
分析如下:
在 __init__ 的构造函数中, self.delay 代表的是需要延时的时间,单位是 秒。 self.domains 从存储的是:以访问过的域名为键,最新一次访问时间为值的字典。
wait 函数集为等待函数,其输入时当前要下载的网页地址 url 。从此地址中得到域名,查询这个域名上次访问的时间。 如果没有访问过此域名,则不睡眠。 如果访问过此域名,则计算需要睡眠多久,然后执行睡眠操作。最后,将此域名和当前访问时间存储在字典中。
添加用户代理
其中,headers 用于设置用户代理信息。 proxy 用于设置 IP 代理信息。
将延时功能整合到 download 下载中。
其中 throttle 参数是一个 Throttle 类的一个实例。
对于 python 爬虫还可以添加其他的功能,例如缓存功能,可以使用文件缓存或者数据库缓存。个人感觉数据库缓存可能相对方便一些。有兴趣的话可以查看参考书籍,这里就不详细的介绍了。对于一般的情况,上述的下载网页源代码的函数已经够用了。
本文内容转载自网络,本着分享与传播的原则,版权归原作者所有,如有侵权请联系我们进行删除!
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有