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


相关文章内容简介
推荐阅读
  • 08 2019-07
    ip代理为什么不可或缺?

    ip代理为什么不可或缺?无论是爬虫的数据采集,还是刷浏览量等数据都是要使用到ip代理,这是为何呢?

  • 24 2019-05
    搭建http的透明正向代理

    搭建http的透明正向代理,有知道如何搭建吗?透明和正向代理是指什么?在搭建http的透明正向代理过程中需要注意些什么事项呢?机灵代理小编跟大家一起去看看如果搭建问题。

  • 20 2019-07
    分布式ip代理池怎么搭建?

    分布式ip代理池怎么搭建?爬虫程序的正常运行,这是需要大量的ip资源来维持的,如果没有这些ip资源,也就是ip代理池,爬虫程序将要停止工作或者极大的降低抓取的速度,因此ip代理池是非

  • 03 2019-07
    支持API批量提取的IP代理

    找家支持API批量提取的IP代理,能够直接提取效率会快很多,那么市场上有没有呢?

  • 26 2019-03
    代理服务IP是不是独立服务器?

    现如今网站上所流通的代理服务IP大多都是独立的服务器,可以供客户在自己独立的网站上使用,但是有一点需要注意的是代理服务器IP需要客户从服务商那里租用或者购买,其购买的价格较贵

  • 02 2019-10
    独享IP的优势?如何判断独享IP代理?

    为什么有的时候用相同的爬虫策略去使用代理IP访问网站,有些IP能够成功,而有些IP却失败呢?明明都是选用的是同样的质量,但是不同的代理就在这个时候显示出差异。

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