IP 轮换:什么时候换,多久换一次
换 IP 是技术常识,但知道什么时候换、多久换一次就难多了。换得太勤会打断会话,换得太少会被封。下面说明怎么取舍。
为什么要轮换
- 避免请求集中到同一个地址。一个站点若看到同一 IP 一小时内发出 2000 个请求,无论这个 IP 来自哪里,最终都会限流。把流量分摊开,特征就变了。
- 绕过偶发的封禁。一个移动地址可能被池内其他用户在敏感站点上用过,轮换几秒内就能拿到一个干净地址。
- 符合移动线路的自然行为。运营商的地址本来就是动态分配的,周期性变化与网络自身的行为一致。
自动轮换还是按需轮换
实践中可以组合使用:匿名采集用自动轮换,需要稳定的会话用按需轮换。
我们这边,共享套餐自动轮换(按套餐 5、10 或 15 分钟),独享套餐按需轮换。
| 模式 | 工作方式 | 适合 | 不适合 |
|---|---|---|---|
| 自动(按间隔) | 每 N 分钟更换地址,会话中途也会换 | 公开页面采集、比价监控、广告测试 | 长会话、多账号、表单提交 |
| 按需 | 地址保持稳定,直到你主动触发更换 | 多账号、需要登录的会话、长时间任务 | 无人值守的高强度采集 |
粘性会话(sticky session)
在共享套餐中,路由会把你在一定时间内分配到同一台手机,这就是“粘性”。
在有效期内你保持同一个出口地址,会话因此更连贯;超期后可能被重新分配到别处。
合适的时长取决于任务。连续抓取同一站点的多个页面,几分钟内保持同一地址更好;页面之间彼此独立的采集则没有必要粘住。
粘性能避免“每个请求都是不同地址”的现象,那本身就是机器人特征。
轮换的隐藏成本
在移动线路上更换地址意味着一轮网络过程:蜂窝断连、重新附着、获取新地址。通常耗时 5 到 15 秒,并消耗少量信令流量。
所以每十秒轮换一次不仅无用,反而有害,因为你的请求会正好落在断连期间。
这也是我们在两次手动轮换之间设置冷却时间的原因:它不是商业限制,而是防止脚本自毁。
一个地址能承载多少请求
没有魔法数字,但有个实用的数量级:在法国大众站点上,同一移动地址发出上百个有间隔的请求通常没有问题。
短时间超过几百个请求,限流就会变得很可能。如果你的目标更早就有反应,说明还有请求头、节奏或缺少 Cookie 等其他信号在起作用。
通过 API 控制轮换
你可以通过一次带认证的 HTTP 调用触发轮换,从而把它接入流水线:在批次开始时轮换、遇到 403 或 429 时轮换,或按请求配额轮换。
客户中心也提供按钮和轮换历史。
常见错误
- 每个请求都轮换:成本高、速度慢,而且往往比稳定地址更可疑。
- 在已登录的会话中途轮换:会触发平台的安全告警。
- 忽略冷却时间:连续轮换会失败,脚本却误以为 IP 已经换了。
- 完全不轮换:请求计数最终会触发限流。
- 把轮换等同于匿名:你的其他指纹并没有改变。