最近公司的一台winserver系统的爬虫服务器,因为同一个ip一直爬取数据,触发了目标网站的风控机制导致爬不到数据了。为此出了个对策,就是通过更换ip爬取,减少出发风控机制的概率。
分成三个步骤解决
一、准备一个或多个额外ip并绑定在ECS实例上
二、编写路由变更脚本
三、添加定时任务
下边说下具体流程
一、准备一个或多个额外ip并绑定在ECS实例上
做一下讲解,阿里云的ECS可以绑定多个虚拟网卡,用图来说明就是下边这样,每个ECS可以绑定弹性网卡数量不一样,根据所购买的ECS规格可绑定数量为2-8个不等,需提前了解好。
根据买的ECS实例规格,创建对应支持数量的弹性网卡,然后将购买的弹性ip绑定在弹性网卡中,将弹性网卡再绑定在ECS实例上,就搞定了,这样服务器上就会显示出新的互联网连接设备了。
二、路由变更脚本
提前声明,此脚本需通过系统定时任务调用,而此脚本应用了bash shell语法,所以windows是不支持的,需要先安装个git,让windows可以调用git的git-bash功能来使之支持bash语法
git下载地址:https://git-scm.com/download/win
安装时很简单,选好路径无脑下一步
注意添加环境变量,git-bash是在git的根目录,不是在git\cmd 下边,建议两个都添加上
先通过cmd
输入route print
打印一下网卡编号
如图所示,编号13是有线网卡,编号12是无线网卡,没错,这是我笔记本的网卡,只是举个例子
脚本代码如下
#!/bin/bash
if