• 使用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拨号服务器,的确比较麻烦,如果有钱的话,当然还是使用芝麻代理这样的,直接调用接口,方便,快捷,

    ####

  • 相关阅读:
    【剑指Offer】21、栈的压入、弹出序列
    【剑指Offer】20、包含min函数的栈
    【剑指Offer】19、顺时针打印矩阵
    【Shell编程】Shell基本语法
    【Shell编程】Shell程序设计
    linux 大中括号变量解读
    Python 二进制,十进制,十六进制转换
    Python3.x和Python2.x的区别
    python通过SSH登陆linux并操作
    PEP8特性
  • 原文地址:https://www.cnblogs.com/andy0816/p/15320678.html
Copyright © 2020-2023  润新知