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


相关文章内容简介
推荐阅读
  • 15 2019-04
    简单介绍搭建IP代理池的实现过程

    简单介绍搭建IP代理池的实现过程,有时候可能大家并不用搭建IP代理池的,因为很多企业都使用了HTTP代理,可以直接使用,无须自己搭建并检测的,但了解一下也无妨,万一有天要用到呢?

  • 02 2019-12
    Linux系统怎么使用线程IP池?

    线程IP池目前一般只能够在Windows系统上运行,那么Linux用户怎么办呢?就没有能够用上线程IP的方法了吗?今天我们跟着机灵代理来看看有没有什么好方法。

  • 24 2019-04
    免费的http代理ip伪装自己的爬虫程序

    可以使用免费的http代理ip伪装自己的爬虫程序,毕竟如今网站的技术都不错,越是大平台其反爬越加的严,没有伪装好自己都爬取不了信息。

  • 09 2019-10
    代理IP的选用攻略

    现在提供代理IP的服务商是越来越多了,用户是挑的眼花缭乱,大家都说自家的IP质量好、够稳定,可是一使用问题就会显示出来了。我们在挑选使用的代理IP时候,要从哪些方面去判断呢?下面

  • 20 2019-02
    爬虫的请求头应该怎写不会被发现?

    网站的反爬虫存在于整个爬虫获取数据流程里面,爬虫首先会遇到请求的问题,如果爬虫不伪装浏览器发送请求,那么就会被网站检测到爬虫,从而禁止访问,拒绝返回信息。那么爬虫的请求头

  • 20 2019-06
    IP代理的质量不行能提高么?

    IP代理的质量不行能提高么?在日常的网络工作中,很多网络工作者需要使用到IP代理来辅助完成任务,如比较常见的爬虫工作、营销发帖、网络投票、效果补量等,有是使用第三方工具,有的

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

大客户经理微信

微信公众号

微信公众号

回到顶部