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



相关文章内容简介
推荐阅读
  • 12 2019-07
    工作生活中为何要使用ip代理?

    工作生活中为何要使用ip代理?有没有听说过ip代理,一般玩游戏或者做营销,或者大数据的,都可能有接触的。我们来看看工作生活中为何要使用ip代理吧。

  • 20 2019-03
    刷流量用什么IP代理软件好?

    自网络发展以来,商家都是跟着流量走,流量越多的地方,商机自然越多,获利也越容易。为了吸引客户,商家会首先自己刷些流量,增加些人气。这刷流量是有技巧,不然容易被系统查到

  • 06 2019-03
    代理IP与爬虫的关系分析,爬虫使用的IP池需要多少代理IP?

    信息时代,网络数据非常多,我们即使要做个小的数据分析,也是需要抓取非常多的网页来分析结果,这单靠人工获取数据是不现实的,因此大家都是使用各种采集器或者直接使用爬虫去爬取数

  • 20 2019-12
    免费代理IP​能防封吗?

    免费代理IP​能防封吗?这个其实比较难,因为免费的质量如何,即使不用,大家心理也是有数的,不管怎么检测都是会对效果有些影响的。既然免费的IP满足不了爬虫的需求并且不是很稳定,因

  • 21 2019-06
    HTTP代理、HTTPS代理和Socks代理使用哪个好

    HTTP代理、HTTPS代理和Socks代理使用哪个好?代理ip的种类较多,有透明代理IP、普通匿名代理、高级匿名代理IP、HTTP代理IP、HTTPS代理IP和Socks代理IP等,那么他们是怎么分类的,这些代理ip之间又有

  • 07 2020-02
    如何挑选高质量爬虫代理

    在互联网时代,我们的生活和工作都离不开网站。我们在上网的时候,很多时候都需要用到代理,爬虫代理在目前是很火热的。之所以要用到爬虫代理,是因为我们有时候需要更换ip,但是如何

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

大客户经理微信

微信公众号

微信公众号

回到顶部