您的位置:首页 > 新闻资讯 >文章内容
采集数据如何控制爬虫抓取的频率?
来源:互联网 作者:admin 时间:2019-02-26 15:40:53

  采集数据如何控制爬虫抓取的频率?为什么要控制爬虫的抓取频率,这是因为如果爬取太快,会增加网站服务器的负载,而且过快的采集,会被网站检测到,因此为了不被发现,势必要控制爬虫抓取的频率。


  在robot.txt协议里面定义Crawl-delay来确定抓取的频率也是一种网站的通用的做法,对于一般的抓取而言,10到20秒抓取一次是一个比较保险的频率,也有提出10*t的抓取间隔(t是download时间)比较合理。下面来看看具体的方案:


采集数据如何控制爬虫抓取的频率?


  1.最快速的方案-使用HTTP代理


  使用HTTP代理+异步IO,每秒可以处理100左右的HTTP请求(根据机器配置和网络而定)。但是免费的HTTP代理一是需要自己来抓,二是并不稳定。如果使用付费的HTTP代理,这个需要钱了。


  2.更简单的方案-多线程


  每次开2-4个线程来访问页面,也就是同时只能处理2-4个HTTP请求,然后一直跑下去,如果需要爬去的数据量不多,这个是最简单的解决方案。比如处理一次HTTP请求需要200ms,每次处理4个请求,一秒可以抓取20个页面,一天可以抓取20*60*60*24=1728000。


  3.最合适的方案-分布式


  使用多线程+分布式,比如一台机器抓取一天可以抓取172w数据,两台就是344w数据。


  4.最终解决方案-分布式+HTTP代理


  根据之前爬去拉勾网的时实践,同一个IP同时发送4个HTTP请求是不会被ban的,所以一个IP可以保证4个HTTP并发量,如果有10个HTTP代理,每秒就可以获取200个页面,一天可以爬去200*60*60*24=17280000个页面。最好是分布式不使用代理,因为每加一台机器,就相当于多了一个IP。


  具体的一个IP的并发量需要自己测试,不过最好一个IP同时只处理一个HTTP连接。


  上文分析了在采集数据时,如何控制爬虫抓取的频率的问题,最好的方案是使用分布式以及HTTP代理,代理可以使用代理精灵,因为IP可以使用全国的,范围比较广,数量自然多,使用效果也好。


相关文章内容简介
推荐阅读
  • 10 2019-05
    python爬虫必备工具要数IP代理

    python爬虫必备工具要数IP代理,这是突破IP限制的效果最好的工具了,如果没有使用这个工具,只能降低抓取的速度,这样是非常影响效率的。

  • 20 2019-06
    解决IP被封的长久有效办法

    解决IP被封的长久有效办法,都有哪些?IP被封,这是很多人都遇到的问题,平常偶尔换个IP还可以,但如果需要长久的解决这个问题,有没有什么方法呢?

  • 19 2019-02
    post请求和get请求有什么区别

    http协议是非常常见的,我们平常打开网页访问都是使用http请求的,http请求的方法比较多种,其中经常用到post请求和get请求,那么这两种请求有什么区别呢?使用哪种请求比较好?

  • 18 2019-06
    筛选一款好用的企业IP代理

    筛选一款好用的企业IP代理,这可不容易呐,现在的IP代理市场混杂的,大大小小的IP代理商都有的,而且很多都夸大了,不少人都是趟过不少水才找到好用的。

  • 19 2019-03
    代理IP的动态IP与静态IP不同之处

    一些商家会提供不同的代理IP套餐选择,常见的有静态IP,动态IP,或者独享IP,长效IP,短效IP等等,每个商家都是自己来命名的,那么用户在选择上,应该如何去选择呢?遇到这个问题,我们首

  • 25 2019-04
    代理服务器的匿名度怎么区分?

    代理服务器的匿名度怎么区分?有些人不清楚,其实代理服务器有匿名程度的分类,比如大家经常使用的高匿名,还有一些大家不知道的透明代理。但很多人也仅是知道这么一点,如果知道我们

在线客服
大客户VIP渠道
点击这里给我发消息
讨论QQ群
HTTP代理IP爬虫
客服电话
13318873961