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


相关文章内容简介
推荐阅读
  • 29 2019-04
    看代理IP价格定质量是错误的

    看代理IP价格定质量是错误的,但很多人不以为然,认为价格低的不好用,肯定是价格越高越好用。但是有没有想过,有时候价格与质量并不成正比呢?

  • 13 2019-04
    爬虫必须用代理ip吗?不一定,但效果太差

    由于网站限制的问题,很多人都问,爬虫必须用代理ip吗?对于这个问题,大众是怎么看的呢?爬虫工作者又是怎么说的呢?我们一起去了解下吧。

  • 28 2019-05
    HTTP代理的含义、原理、使用以及注意事项

    HTTP代理的含义、原理、使用以及注意事项,关于这些估计很多人都是不清楚的,这些基础知识其实比较简单的,小编下面稍微给大家科普下,了解HTTP代理,使用起来会更加的合心意。

  • 01 2020-04
    电脑换ip的好处

    每台电脑都有一个IP,这个IP在电脑的使用过程中相当于网络身份证。随着用网络的人多,IP限制也很多。那么,为什么要换ip呢?

  • 14 2019-06
    国内普通匿名代理ip能用吗?

    国内普通匿名代理ip能用吗?代理ip的使用确实可以解决很多的问题,对一些工作起到很大的作用,不过这并不是代表着,使用了代理ip就可以无视反爬虫策略了。很多朋友认为,使用代理ip就可

  • 06 2019-09
    socks5代理IP是怎么使用的?

    使用代理IP的时候,我们会发现有socks5代理跟http代理,机灵代理发现其实有很多朋友都不知道如何使用socks5代理,甚至把socks5代理IP当成HTTP代理IP来使用,这样完全显示不出socks5代理的优势与特

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

大客户经理微信

微信公众号

微信公众号

回到顶部