
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... [阅读全文]
最新标签
推荐阅读
03
2019-01
浅谈VPS服务器和拨号动态VPS的区别
作为一个互联网从业者,许多时候我们都会运用vps。建立网站独立服务器太贵,那么就会采用vps,低成本,方便快捷。是中小型企业和个人网站的甄选,此刻说的vps那就是固定ip的呢。我们的动
10
2018-10
有没有换ip的软件?好不好用?
现在的网络营销越来越火了,营销模式也是五花八门的。当我们在进行网络营销时,肯定是需要在一些平台上发布大量的推广信息,这个时候就很有可能被平台限制IP,所以就出现了换IP软件。
02
2019-02
网络推广效果不好?想必是缺乏专业营销工具
在这个互联网时代,大到国企,小到民营小企业都已经开始做网络推广。但很多企业的网络推广效果不好,这是为什么?如何提高网络推广效果呢?
27
2018-11
爬虫通常会遇到哪些限制?如何突破这些限制?
大数据时代,大家都获得大量数据,挖机有价值的信息,即使有反爬虫机制,也要迎难而上,就看谁的技术高了。那么爬虫通常会遇到哪些限制?如何突破这些限制?
热门文章