qq:800819103
在线客服,实时响应qq群
在线客服,实时响应客服电话
13318873961爬虫的速度会影响目标网站的服务器,因此为了不给目标网站造成不必要的损失,要控制好爬虫的速度,不能太快,但也不能过慢,没有耐心等,那么爬虫速度怎么限制?下面跟黑洞代理一起去看看优化爬虫速度的问题。
一、控制爬虫速度
1)初始化:设定初始延时时间T0和比例系数Kp(典型值-0.05);
2)目标设定:设定爬虫速度S,比如40页/分钟;
3)测量:统计每分钟内爬虫抓取网页的数量n,可能是32,也可能是100;
4)比较:比较n和S的大小;
5)执行:n如果比S大,说明太快,于是增加延时;n如果比S小,说明太慢,于是减小延时。
该方案的公式化表示如下:
Tk=Tk-1+Kp*(S-n) (3.1)
其中k=1, 2, 3 ... ,Tk是第k次设定的延时时间。
不要被表达式吓住了,它所表达的意思其实就是步骤5)所描述的执行过程:速度太快 (S-n小于0,则Kp*(S-n)为正),增加延时 (Tk大于Tk-1);速度太慢 (S-n大于0, Kp*(S-n)为负),减小延时 (Tk小于Tk-1)。
假设初始延时时间T0为1.0s, 比例系数Kp为-0.05,爬虫速度S设置为40页/分钟。如果某次爬虫抓取网页的数量n=100,根据3.1式计算的延时值T1=T0+Kp*(S-n)=1.0+(-0.05)*(40-100)=4.0;下一次可能的测量值n=30,则计算的延时值T2=4.0-0.05*10=3.5。
合理控制爬虫速度是非常有必要的,如果爬虫速度快了,增加延时时间;如果爬虫速度慢了,减小延时时间。
二、提高爬虫速度
首先要先判断准目前的瓶颈在哪里,网络io、磁盘io,还是cpu等。然后才能具体问题具体分析。
如果编程能力是瓶颈的话,增加多线程的特性是最具性价比的了,而且花不了多少开发的时间。不过后续的问题可能就比较多了,代码也不是几行能搞定的了。
cpu瓶颈的话可以通过分布式的方式来解决,更多的结点去处理分发的任务就好了。
本地带宽的瓶颈通过云服务器解决(一般都有100MB的方案提供),定时定量的去购买使用可以节约成本(毕竟不是搜索引擎不会一直开着的),目标服务器的带宽限制(基于IP的)通过跨区的服务器解决,云服务器提供商有多个机房的,分散节点所在的机房可以缓解问题,有提供动态ip的就更好了。
上文介绍了控制爬虫速度以及提高爬虫速度的方法,仅供参考!建议在爬取数据时,要注意不要给目标网站造成过大的压力,在抓取过程中,遇到IP被限制问题,可以使用代理IP突破限制,更好的提升采集速度。使用代理IP,选择黑洞代理,上千万的IP池满足爬虫的需求。
相关文章内容简介
1 爬虫速度怎么限制?优化爬虫速度方法
∵ ∵爬虫的速度会影响目标网站的服务器,因此为了不给目标网站造成不必要的损失,要控制好爬虫的速度,不能太快,但也不能过慢,没有耐心等,那么爬虫速度怎么限制?下面跟黑洞代理一起去看看优化爬虫速度的问题。 ∵ ∵一、控制爬虫速度 ∵ ∵1)初始化:设定初始延时时间T0和比例系数Kp(典型值-0.05); ∵ ∵2)目标设定:设定爬虫速度S,比如4... [阅读全文]
最新标签
推荐阅读
19
2018-11
做论坛推广不被删的技巧--换IP法
论坛是流量比较高的平台之一,对于做网络推广的人来说是一个非常不错的平台,做论坛最经常遇到的麻烦是发帖被删,特别是带有广告性质的帖子,那么如何延长这帖子存在的时间呢?
05
2019-01
代理IP提供商的IP来源是怎么来的?
知彼知己百战百胜,针对竞争者或是消费群的数据采集,我们乐此不疲。在IP代理风靡的今日,网络爬虫已经可以被我们充分运用,海量资源采集网络数据,毫不手软。做过网络爬虫的都了解,
18
2019-01
安卓换ip,自动获取IP、代理IP好、动态IP哪种方法好
安卓换ip,有几种方法可以实现安卓手机换ip的,它们分别是自动获取IP、代理IP好和VPN,那么这三种换IP的方法都有什么特点,哪一种比较好呢?下面小编就自动获取IP、代理IP好、VPN哪种方法好
15
2018-11
ip地址被占用怎么办?黑洞代理教你一招禁止修改IP
办公区域通常采用局域网,有些人会修改自己的IP,所有使用内网IP很容易导致IP冲突,那么ip地址被占用怎么办?今天黑洞代理为大家介绍一些关于IP地址的知识,你们的网管是怎么查看...
热门文章