很多采集项目接入代理后的第一版逻辑是“每个请求换一个 IP”。结果往往是验证码更多、登录态丢失、失败率反而上升。代理轮换的关键不是换得越快越好,而是让 IP 生命周期符合目标网站的访问流程。

代理轮换的三种会话模式

三种常见轮换模式

每请求轮换

适合无状态的公开页面抓取,例如搜索结果、商品列表和公开接口。每个请求使用新出口,能分散单个地址的请求压力,但不适合需要 Cookie 的连续流程。

粘性会话

在 5–30 分钟内保持同一出口 IP,适合翻页、加入购物车、地区价格检查等需要连续状态的任务。会话结束或失败达到阈值后再更换出口。

任务级固定

一个账号或一个完整任务使用同一 IP。适合需要登录的低频自动化,但账号运营应优先使用独享静态 IP,而不是共享动态池。

重试不能只换 IP

请求失败后立即无限重试,会把临时错误放大成封禁。建议采用指数退避:第一次等待 2 秒,第二次 5 秒,第三次 15 秒,并加入随机抖动。只有遇到明确的 IP 限制、连接失败或连续验证码时才切换出口。

稳定采集的请求处理流程

并发应该如何控制?

并发上限应根据目标域名、页面成本和成功率动态调整,而不是只看本机性能。可以从每域名 2–5 个并发开始,记录 2xx、403、429、验证码和响应时间,再逐步增加。

当 429 或验证码比例上升时,优先降低频率和延长会话,而不是立刻增加更多 IP。高质量代理也无法弥补明显不自然的请求节奏。

地区与流量预算

只在业务需要时使用城市级定向,因为条件越细,可选出口越少。图片、视频和字体会大量消耗流量,采集脚本应只下载必要的 HTML 或 JSON。按 GB 计费方式可参考动态住宅代理选购指南

建议监控的指标

  • 请求成功率与有效数据率;
  • 403、429 和验证码比例;
  • 单次成功任务消耗的流量;
  • 每个出口 IP 的平均请求数;
  • P50、P95 响应时间;
  • 重试后成功率。

总结

稳定采集依赖会话、频率、重试、并发和地区策略的组合。公开无状态页面可以快速轮换,需要连续操作的流程应使用粘性会话,账号型任务则需要固定网络身份。先建立指标和限速机制,再扩大代理池,通常比单纯堆 IP 更有效。