您的位置:首页 > 新闻资讯 >文章内容
如何在多个http代理间来回切换,弱化ip被限制风险?
来源:互联网 作者:admin 时间:2019-04-07 17:00:00

在使用爬虫之前,大家都要先考虑一下反爬虫的问题,若不能解决,这是无法实现爬取的。比如,有时候即使使用了http代理,也偶尔会出现错误,这是为什么呢?难度是http代理不好用?还是说使用的人太多了,重复性太高?


其实对于ip限制,我们切换多开代理ip使用的,那么如何在多个http代理间来回切换,弱化ip被限制风险?


突破ip限制的方式,大概有如下几种:


1.和被爬的网站合作,将自己的ip加入白名单。这种方法基本是不可能的,一般上网站不给你爬的,都有各种的限制,除非是动态ip代理商,让你ip加入白名单提取ip。


2.买多台具有公网ip的服务器,每台都布一个爬虫脚本,相当于每个爬虫都有自己的独立ip。这种方式基本上会比较少用的。因为多台服务器成本高,同一爬虫部署多处,维护成本也高(配置、部署、升级、爬虫间相互协调等)。


3.买一些便宜的ip资源,用这些ip做代理(可以是配置很低的且每台机器具有多个公网ip的服务器,只负责网络代理,不跑业务)。不过成本低,脚本无需部署多处。

本文将针对方式3,从原理到实现,一步一步地说明。


http代理原理


当访问某个站点时,网站服务器可以获取到访问者的ip. 服务器可以根据来自该ip的请求情况,做一些限流操作。而代理,是在访问者和站点之间,加一个中间人。访问者向中间人发请求,中间人将该请求转发给站点,最后中间人把站点的响应返回给访问者。在这个过程中站点只能看到代理(中间人)的ip。


无代理的情况: 访问者 站点 (站点看到的是访问者的ip)

有代理的情况: 访问者 代理 站点 (站点看到的是代理的ip)

有动态代理的情况: 访问者 代理1,代理2,代理3,... ] 站点 ( 站点看到的是多个代理的随机ip )


使用 curl 做实验


如何在多个http代理间来回切换,弱化ip被限制风险?

使用代理后,我的ip(对于被访问的站点来说),变成了。 通过以上实验,想必你对代理也有了一定的感知。


用nodejs写一个简单的爬虫


这个爬虫很简单,就是请求,将返回值打印到控制台。

如何在多个http代理间来回切换,弱化ip被限制风险?

的内容如下:

如何在多个http代理间来回切换,弱化ip被限制风险?


至此,单个http代理已经完成了。接下来我们讨论如何动态地在多个http代理间来回切换,以此来弱化被爬的站点对访问者ip的限制。


第一种方案


从外部将ip代理参数传给爬虫脚本,爬虫运行完成后自动退出,再取另一个ip代理参数,重新跑爬虫脚本,以此形式周而复始。

可以写一个这样的shell脚本:

如何在多个http代理间来回切换,弱化ip被限制风险?

其中 PROXY=$p 是定义一个环境变量PROXY, 其值是2个http代理中的任意一个。我们修改一下, 让其使用PROXY环境参数作为其代理:

如何在多个http代理间来回切换,弱化ip被限制风险?

该方案使用bash脚本配合js爬虫脚本一起使用,对于不懂bash的人来说,维护起来有一定的心理负担。接下来,我们使用纯js语言实现。


第二种方案


将方案一中的bash转换为js,内容调整为以下内容:

如何在多个http代理间来回切换,弱化ip被限制风险?

以上介绍了关于使用http代理的方法,从单个http代理到多个http代理的使用。如果大家想找http代理使用,可以找机灵代理的。


相关文章内容简介
推荐阅读
  • 14 2019-10
    代理IP的正确打开方式

    代理IP的使用能够给我们带来不少的帮助,我想这一点如果是进行过相关的爬虫业务,已经有深深的体会了。但是发现很多人对代理IP还是不是非常的清楚,机灵代理下面让大家以正确的方式了

  • 10 2019-10
    代理IP的使用用途

    代理IP的功能如何如何强大,这些已经被代理服务商介绍宣传得差不多了。但是其实代理IP的用途还是比较模糊,爬虫是大家都比较清楚的,因为一般都会把这一项作为宣传点来推广。机灵代理

  • 21 2019-08
    如何区分代理IP的4种代理方式?

    用过代理IP的都知道,通过代理IP我们能够隐藏自己原本的真实IP,那么我们又该如何知道自己所购买的服务是对应的呢?接下来,提供一种可以自行检测的方式。

  • 19 2019-03
    选购IP代理,要避免这些问题

    若是大家需要使用IP代理,大家通过是怎么选择的,有木有一些技巧呢?市场上IP代理的商家鱼龙混杂,想找家好用的可不简单,有些商家的陷阱你可能不小心就中招了。

  • 09 2019-08
    http代理配合多台主机同时运行,爬取效率成倍增长

    http代理配合多台主机同时运行,爬取效率成倍增长!新手可能不知道,在规模采集数据时,如果同一台主机运行的,爬取效率有限;但是多台主机协同爬取,爬取效率必然成倍增长。

  • 19 2019-03
    IP代理无效?检查爬虫有没有陷进这些误区

    一些专门采集信息的网络爬虫并不受各网站的欢迎,甚至还会设置重重的关卡来限制爬虫的访问,但何为我们使用了IP代理还是无效的,一直突破不了IP限制,这倒是是IP代理的问题,还是其他的

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

大客户经理微信

微信公众号

微信公众号

回到顶部