您的位置:首页 > 新闻资讯 >文章内容
爬虫加IP代理能提高爬取速度,但为何还要加延时呢?
来源:互联网 作者:admin 时间:2019-04-11 13:57:51

爬虫加IP代理能提高爬取速度,但为何还要加延时呢?爬虫加IP代理,这是再正常不过的了。一些比较好的网站都会有设反爬的,主要是为了数据安全性和保持自身的核心竞争力,防止别人对核心数据进行采集。


这些网站是怎么识别对方是爬虫还是人的呢?其中一个方法是IP识别,当同个IP在一段时间内请求明显高于人访问网页的速度时,会判定为爬虫请求从而对该请求的IP进行短期或长期封杀。


这对爬虫的杀伤力非常大,因为很多数据结论越早获得越有价值,这种封IP的方法,可以延迟对方获取数据的时间。但这也仅是对普通的爬虫有效。


一旦爬虫加IP代理,就能使用代理来绕过对IP的监控或封杀。在网上能找到一些提供免费代理IP的平台,不过亲测极其不稳定,通常100个里只有个别能用。


所以真正的想用IP代理来做爬虫,还是找付费的比较好。通常爬虫用途可以买动态IP,平台提供一个API,每次刷新请求会得到一个或一堆有效期比较短的IP,然后从这些IP里挑选来代理请求,失效时重新生成可用的IP即可。


我写的爬虫是node里跑的,这里不得不提的是,在js里非常流行的axios请求库亲测并不能实现代理请求(也许是我姿势不对),参考网上教程需要使用request这个请求库(然而并不好用,API并不是流行的Promise方式)


所以我在逻辑代码里是这样实现的,首先封装一个请求函数,以下是核心示例代码:


爬虫加IP代理能提高爬取速度,但为何还要加延时呢?

上面封装过后的请求函数就暴露了一个统一的request方法,使用时候只需要request(url)即可。


从代码里也可以看到:当代理有效时会用代理,当代理无效、超时或其他任何错误时会返回正常的请求,这也是降级保障了爬虫代码的健壮性。


在使用IP代理时,超时时间是个需要不断调整的设置。超时太短了会导致代理不可用的概率提高,而超时太长则会影响整个爬虫的速度。


比如一个项目,不使用代理时跑完需要4个小时,而如果使用代理,每次请求的时间就加长了,在设置2000毫秒的超时下,整个任务跑下来需要翻2倍的时间。


了解到这里,大家也就清楚爬虫加IP代理能提高爬取速度,但为何还要加延时呢?IP代理能突破IP限制,自然是可以提高爬虫的速度,不过如果不设置一定的延时,过快的访问频率照样会暴露自己。



相关文章内容简介
推荐阅读
  • 25 2019-04
    代理服务器的匿名度怎么区分?

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

  • 07 2019-07
    网络爬虫使用http代理的作用

    网络爬虫使用http代理的作用,刚刚接触数据采集,可能大家不清楚为何网络爬虫要使用http代理?

  • 04 2019-10
    网站被封还能访问吗?代理IP告诉你

    爬虫采集经常会面对IP被封、无法爬取等情况,我们除了要有好的程序、爬虫策略之外,还得要有高质量的代理IP。而且有的时候,部分需要爬取的网站竟然也被封了,那么如果还是需要对这个

  • 20 2019-11
    代理服务器全方位介绍

    有关于代理服务器,你了解得有多少?代理服务器的工作是怎么进行的?代理服务器的功能又有哪些?今天,机灵代理来跟大家全面对它进行一个剖析。

  • 23 2019-10
    代理IP助攻网络营销

    网络营销的质量不高?你可能是方法没有用对。如果还是用传统的方法,那么是很难取到很好的反响了。下面代理IP谈谈如何在网络时代做推广。

  • 09 2019-05
    IP代理软件都有什么作用?

    IP代理软件都有什么作用?使用IP代理的人群占比虽然低,但是用户数并不少,一般都是一些需要更换IP的网上用户需要使用,尤其是营销人员。我们使用IP代理软件主要是用作什么呢?

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

大客户经理微信

微信公众号

微信公众号

回到顶部