搭建代理服务器-提前告知

一步一步实现秒级换ip

Posted by TuoX on June 12, 2017

今天忽然就是很想写东西,但是暂时又写不了,因为服务器之类的还是在准备中。那就写一个提前预告吧。

数据分析,人工智能,机器学习,远远离不开数据,那仅仅只是拥有我们自己的数据,是完全不够的。

爬虫就是解决这个尴尬情况的,通过收集竞品的数据,结合自己的数据,进行一系列的吸收与转化正是我们要做的事情。

作为竞争对手,也不是吃素的,一旦发现一个ip不断的请求数据,会马上启动策略。因为正常用户不可能以这么快的速度,大规模的浏览信息。

也许你会有以下想法:

  • 换请求头,一般是更改请求来源。
  • 换账号,没什么用。
  • 降低频率,我滴个妈,等你爬完,黄花菜都凉了。
  • phantomjs,这个想法不错,至少是无界面的浏览器,但是速度还是不够理想。
  • 换ip,这个想法接近了。

单一的方法肯定不是完美的,如果把它们结合起来,你会有意想不到的效果。

现在接口判断非法请求的方式:

  • 1.同一ip一段时间内的请求量
  • 2.请求头是不是非法的,来源是不是浏览器或者app内部发起的,还有一些接口会把加密信息加在请求头里面
  • 3.加密方式,一些时效性的参数,不过这个问题好办,用上抓包工具,进行一些页面的分析,都可以解决

既然这样,我们模拟多用户多地点进行操作的情况下,那不就迎刃而解了。

请求头,加密方式,多账号,这个都是很轻松可以解决问题。唯独ip这个问题很伤脑筋,现在网上卖的那些所谓的vps,其实都不好用,因为我是体验过的,不是软件做的差,就是ip池其实就100个,然后号称几十几百万个ip。关键还是不稳定,我可是在爬虫啊,不稳定还怎么进行下去。

最近我总是在失眠,我想有一部分是这个原因吧。不懂什么时候会被封,用的vps软件,什么时候忽然假死,直接崩溃,导致程序卡死。

人真的都是逼出来的,我实在是受不了了。我要搭建自己的vps服务器,我要稳定的代理,我要告别被封的困境。这个是我现在的强烈的诉求。

好了,说正题。搭建这个服务,我是这么想的。需要两台服务器,一台adsl拨号服务器,一台有公网ip的服务器,用于存储adsl每次切换ip后拿到的新的ip。使用技术当然是python加linux来搭建。

大致的过程是这样的:adsl服务器会作为客户端、拥有公网ip的服务器会作为服务端。客户端每隔一段时间就会进行自动拨号,拨号一旦完成,就往服务器发送一个请求,服务端接收到请求之后就把现在的ip储存起来。并且会封装一个接口,提供给我们的程序获取代理使用。这样子我们就可以施展我们自己的魔法了,肆无忌惮的爬虫。

下班一回到家,就噼里啪啦的写起来,现在我该去泡杯茶,休息一下了,我们下次见。