使用VPS拨号服务器解决ip封禁问题

####

现状,

就是爬取数据的时候,单ip是不可能快速获得数据了,

现在常用的ip反爬,就是按照你访问的频率,如果识别到就封你的ip,更多的是封一段时间,比如一小时,比如几天,也有永久封禁,

但是现在大公司,屏蔽ip的成本变得很大,因为有的一个ip,不是一个人在用,而是一个公司,一个小区在用一个ip出口,这样屏蔽成本太大了,

更多的是触发验证码,让你进行人机识别,

 

目前遇到的比较难搞的反爬虫技术有两个:特别难识别的人机识别验证码–如极验的手势验证,另外就是ip大量的限制,如R网站两次访问就被强制跳转到验证码页面。

针对这个问题,采用爬虫届大招一样的ADSL动态部署起来,但是,要明白用ADSL就意味着是开始拼成本了。不再像是过去随意一台电脑就爱怎么爬怎么爬。

####

ip问题,

ip问题,就涉及到成本问题,

如果不是以爬虫为生的公司,基本不会投入太多成本,

1,使用芝麻代理这种,这种用起来很方便,

https://zhimahttp.com/getapi/

要用高匿名代理,网站看到的不会是你的真实ip,

好处就是使用方便,调他的接口就可以了,

但是成本高,

 

 

2,使用vps拨号,

vps拨号服务器,就可以看成云服务器,只是这种不稳定,可能运行几天就会很卡,需要重启,有可能数据还会丢失,

但是我们用作拨号服务器还是可以的,每拨号一次,ip就会更换,

http://www.5jwl.com/ 无极网络,

这种vps拨号,有很多的地区分类,可以只拨号北京,或者某一个地方的,或者全国的,一般拨号还是要大城市的,北京上海的,因为涉及到账号的,会发现你同一个账号,但是ip是全国跳,这就不对了,而且北京上海的用户也是最多的,

配置比较低,但是价格很便宜,

你看一台才每个月100块,你买10台,才一个月1000块,但是10台一次就是获取10个ip,你已经可以一天抓取上千万的数据了,

这个日抓取千万,已经可以了,对于一般的公司来说,

现在是必须要实名认证了,

你买的时候,会让你选择装什么系统,cenos,

然后你买好了,告诉你账号密码,就可以远程登陆了,

买一个厂家,拨号方式可能不一样,所以还是买的时候需要注意问下客服,

这种劣势,就是配制上比较麻烦一点,

####

vps拨号服务器的使用方法,

####

第一种使用方法, 

你可以完全把爬虫程序放到上面,一般这种就是小的爬虫,你不需要一天抓几百万,几十万,

这种如果每天爬取几万,可以放到这个机器上跑爬虫,不能放大型的爬虫,因为内存,硬盘不够用,

具体要多久拨号一次,每个网站是不一样的,你要去试,

然后你试出来100次会屏蔽你,那你的爬虫就可以计数,然后就可以重新拨号,

当时抓企查查的时候,每天100万,然后抓取10几天就可以了,

这种一个机器就够了,

适合那种总爬取量几千万的

可以定时把数据往本地拉取,

 

 

####

第二种使用方法

如果你只有一个机器,但是不想把这个爬虫放到这个机器上,因为比较麻烦,还要按照python这些,

那就要把这个vps拨号服务器,变成一个代理服务器,

这样你需要自己搭建一下,

vps服务器上,可以使用tinyproxy,或者spuid软件,作为http代理服务器,

vps服务器一般都是centos的,

然后你的python程序就可以调这个代理服务器,就可以切换ip,抓取数据了,

但是一定要注意,现在很多厂商已经不支持,把vps服务器搭建成为代理服务器了,可能是政策原因,买之前一定要问清楚,

http://www.sunnet365.com/  这家厂商还支持

 

把vps服务器搭建成为代理服务器的操作:

第一步,安装python3,因为centos,只有python2

第二步,安装tinyproxy

 

然后后面搭建好了之后,怎么使用呢?其实就是如果管理这种代理服务器,

 

第一种管理方法:使用一个固定ip的服务器,使用客户端和服务端的思想来管理,

 

你要远程调用这个代理服务器,你就要知道这个ip和端口,

所以你怎么知道呢?

假设你有3台vps代理服务器,如果管理呢?

需要有一个固定ip的服务器,然后其他的代理服务器上报这个ip到固定服务器,

各个服务器之间的通信,可以使用socket通信,也可以使用web编程,

注意这个固定ip的服务器,必须要稳定,质量要好,可以使用阿里服务器来担任这个固定ip服务器,然后就可以作为服务端,买最低配的就行,一个月大概几十块钱,

其他的代理服务器作为客户端,作为通信,

 

第二种管理方法:使用dns服务器,来解析代理服务器的域名,获得ip,

可以到阿里买域名,就是几块钱,但是是有时效的,需要续费才可以维持这个域名,

然后把域名配置上,

原理就是域名可以解析出ip,需要把每一个机器都配置一个域名,可以是子域名,

 

如果实现?

还是需要一个第三方的dns服务器,可以使用阿里云,

因为我们要马上解析出来结果,

现在也有免费的dns解析服务器,但是这个解析的时间很长,效率太低,

如果使用dns服务器解析域名,

调用dns服务商提供的api,

需要拨号之后,向dns服务器上报

 

###

所以你看到了,

使用vps拨号服务器,的确比较麻烦,如果有钱的话,当然还是使用芝麻代理这样的,直接调用接口,方便,快捷,

 

 

 

 

 

####

posted @ 2021-09-22 17:02  技术改变命运Andy  阅读(628)  评论(0编辑  收藏  举报