您的位置:首页 > 新闻资讯 >文章内容
采集数据如何控制爬虫抓取的频率?
来源:互联网 作者: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可以使用全国的,范围比较广,数量自然多,使用效果也好。


相关文章内容简介
推荐阅读
  • 04 2019-08
    改变本地IP地址的几个方法

    改变本地IP地址的几个方法,为什么要换ip?简单的来说,就是工作和生活的需要,需要通过改变ip地址来突破对方的ip限制。现实中,每天上网的时候,我们的ISP,会为我们计算机分配一个IP地

  • 17 2020-01
    http代理如何选择

    国家经济日渐发展,人民生活水平逐渐提升,网络技术的逐渐提高和普及,促进了http代理业务的迅速发展。那么,在这个选择众多,真假难辨的社会里,选择一个优秀的http代理软件的重要性自

  • 17 2019-03
    防止游戏封号的几种方法,使用代理IP效果更好

    游戏封号对于玩家来说,这是非常严重的问题,如果被封号了,这些辛苦都白费了,关键还没有任何的收获,因此想要玩好游戏不被封号,就要多注意一些封号的信息,避免犯了这些问题而导致

  • 01 2019-06
    怎么测试代理的响应速度?

    怎么测试代理的响应速度?我们使用代理IP的时候,也会关注下代理的使用情况,响应速度这个参数也是要了解下的,那么如何测试代理的响应速度呢?

  • 25 2019-11
    netcore3.0要怎么设置代理IP?

    代理IP的使用,可以配置在不同的软件上。netcore3.0中,要怎么设置httpclient的代理IP?下面看看由机灵代理带来的使用教程。

  • 24 2019-03
    遇上封IP问题,IP代理能快速更换IP

    每当使用网络爬虫进行爬取数据时,都是要先准备好IP代理使用,否则突破不了网站的IP反爬虫。对于这个问题,大家一般都怎么解决?

在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部