
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... [阅读全文]
最新标签
推荐阅读
21
2018-12
什么免费推广平台效果好
现在各种类型的平台都非常多,但也没有那么多的精力去经营如此多的平台,也不是所有平台都做效果就更好了,因为每个平台的主流人群,以及自身品牌产品定位不同,即使有些平台做得好.
09
2018-10
换ip软件更换IP地址的方法?
IP这里只需要通俗一点解释,internetprotorol即因特网协议,是网络通讯的基本协议,IP地址是设备的网络地址,属于网络层是网络通讯的核心条件。
13
2019-02
SEO何如能够把排名提升起来?
SEO主要是做搜索引擎的优化,一般都是通过优化网站来提高关键词的排名,还会做一些站外的推广信息。也就是说主要是为了排名,那么SEO何如能够把排名提升起来呢?这是需要方法,还需要
22
2019-01
用换IP代理软件后网页打不开怎么办?
很多人因为工作需要改变自己的IP,有时在使用换IP软件后会出现网页不能打开,却能登陆QQ,更换浏览器之后也无济于事,这又是为什么呢?根据黑洞代理小编的经验做一个小小的解决方案,希
热门文章