您的位置:首页 > 新闻资讯 >文章内容
爬虫加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限制,自然是可以提高爬虫的速度,不过如果不设置一定的延时,过快的访问频率照样会暴露自己。



相关文章内容简介
推荐阅读
  • 03 2019-12
    免费IP可以怎么得到?

    经常在网上看到免费代理,这些免费代理IP可以从什么渠道找到呢?免费IP代理又适合用在什么地方呢?下面我们跟着机灵代理来认识一下。

  • 11 2019-05
    IP代理更换设备的IP地址有影响吗?

    IP代理更换设备的IP地址有影响吗?很多时候,我们可能会遇上IP被封,或者获取不了信息,或者访问不了页面的问题,这时候大家可能会尝试更换下IP地址,或者重启路由试试。但如果我们使用I

  • 16 2019-09
    代理IP除了能够隐藏地址 还有什么用途?

    可能有些对代理IP不太清楚的人会疑惑,平时不用代理IP也能够好好上网啊,也没见出什么事情。的确是,对于只有普通上网浏览、看看视频的网友来说,普通的网络端就能够满足你绝大部分的

  • 15 2019-05
    机灵代理支持多协议用途广

    国内市场的直播平台的盛行,导致大量的客户对于IP的需要是越来越多,导致客户不知道怎么挑选IP的怎么使用呢,IP的好坏,稳定怎么样,无法去验证,只能一次一次的尝试,浪费了很多精力和

  • 27 2020-05
    找到合适的代理IP并不难

    不同的代理IP有什么区别?使用代理IP时,现在有很多代理IP商家,很多用户也看不出有什么不同,也不知道该怎么选择。那么,代理IP有什么不同呢?

  • 02 2019-10
    代理IP教程:爬虫免登录如何实现?

    互联网时代,数据获取的手段有很多,通过代理IP去开展的爬虫是其中的一种。当我们通过爬虫去访问目标网站,代理IP提供IP地址的切换,保障工作进程能够持续,这是数据获得的流程。网站爬

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

大客户经理微信

微信公众号

微信公众号

回到顶部