爬虫一直 403、429 或验证码,代理 IP 要怎么排查?
这篇文章是 403、429、验证码主题下的爬虫场景子页,重点解决网页采集中的排查 SOP:先分清状态码和失败类型,再记录并发、重试、单 IP 请求量、UA、headers、Cookie、浏览器是否可复现和代理 IP 类型。只有在低频、完整请求环境下仍然集中失败时,才建议调整动态住宅、静态住宅或数据中心代理 IP 方案。
爬虫一直出现 403、429 或验证码时,不要先急着扩大代理 IP 池。采集场景要先按状态码、请求频率、浏览器渲染、UA、headers、Cookie、会话一致性和代理 IP 类型逐项排查。若你需要先看所有代理使用场景的总判断顺序,可回到父页:代理出现 403、429、验证码时先查什么。本文只处理爬虫和网页采集里的专项 SOP。
爬虫遇到 403、429 或验证码,先按这 6 步排查
遇到 403、429 或验证码时,不要只判断“代理 IP 好不好”。更稳的排查顺序是:
| 步骤 | 要确认的问题 | 记录什么 | 下一步判断 |
|---|---|---|---|
| 1. 分清错误类型 | 是 403、429、验证码、空页面、重定向还是超时 | 状态码、返回片段、出现页面 | 决定先查权限、频率还是环境 |
| 2. 降低请求频率 | 是否并发过高、重试太密 | 并发数、重试次数、单 IP 请求量 | 低频恢复则优先改采集节奏 |
| 3. 对比浏览器和程序 | 同一代理 IP 下浏览器是否正常 | 浏览器结果、程序结果、Cookie 状态 | 程序失败则查请求环境 |
| 4. 补齐请求特征 | UA、headers、Referer、Cookie 是否合理 | 请求头、访问顺序、是否需要渲染 | 缺环境先补环境,不先换 IP |
| 5. 检查会话一致性 | 是否频繁换 IP、换 UA、丢 Cookie | 会话、出口地区、账号或任务 ID | 会话混乱会提高验证码概率 |
| 6. 再测代理类型 | 动态住宅、静态住宅、数据中心代理 IP 是否匹配 | 成功率、验证码位置、地区命中 | 低频仍失败再调整代理类型 |
低频请求恢复正常,优先调整并发、重试和退避策略;浏览器正常但程序失败,优先补齐 UA、headers、Cookie 和访问顺序;低频、完整请求环境下仍集中失败,再判断代理 IP 类型是否不匹配。403、429 和验证码在爬虫里分别指向哪些问题
爬虫排查要先看“失败类型”,再看“代理 IP 类型”。403、429 和验证码都可能和代理 IP 有关,但它们不是同一种问题。
爬虫 403 不一定是代理 IP 被封
403 更常见于访问被拒绝,可能是权限、地区、UA、headers、Cookie、Referer、登录态、目标路径或目标站策略问题。它不一定说明代理 IP 被封,也可能是程序请求不像正常浏览器访问。
如果浏览器能打开,程序请求却 403,先对比程序是否带了必要请求头、Cookie、Referer 和访问顺序;如果目标页需要 JavaScript 渲染,普通 HTTP 请求可能拿不到正确内容。只有在请求环境已经接近浏览器、但某类出口仍集中 403 时,才进入代理 IP 类型对照。
爬虫 429 先查频率、并发和失败重试
429 通常表示请求频率过高或触发限流。它更常和并发、重试、单 IP 请求量、短时间访问密度有关。继续堆代理 IP 不一定能解决,如果重试策略不改,更多 IP 也会被快速打满。
先把并发压低,拉开请求间隔,减少失败后立即重试,记录同一 IP 在单位时间内请求了多少次。如果 429 随低频测试明显下降,优先说明采集节奏是主因。
验证码变多要同时看 IP 和程序行为
验证码说明目标站要求额外验证,常常是代理 IP 类型、访问频率、浏览器指纹、Cookie、行为轨迹共同触发。验证码突然变多时,不要只看“换不换动态住宅代理 IP”,还要看 UA 是否频繁变化、Cookie 是否丢失、访问顺序是否机械、同一会话是否频繁换出口。
排查前先把失败样本记录清楚
排查时不要只写“失败”。建议把 403、429、验证码、空页面、字段缺失、重定向和超时分开记录。不同失败类型对应的处理方式不同,混在一起会让团队误以为只要换代理 IP 池就能解决。
建议记录这些字段:
| 字段 | 为什么要记录 |
|---|---|
| 目标站、URL、接口或页面类型 | 判断是公开页、登录页、搜索页还是接口限制 |
| 状态码和返回片段 | 区分 403、429、验证码、重定向、空页面 |
| 代理 IP 类型和出口地区 | 判断地区命中和出口类型是否影响结果 |
| 并发数、重试次数、请求间隔 | 判断是否是频率或退避策略问题 |
| UA、headers、Cookie、Referer | 判断程序请求是否缺少正常访问特征 |
| 是否浏览器可复现 | 区分浏览器环境问题和程序请求问题 |
| 会话或任务 ID | 判断是否多任务共用出口、会话是否混乱 |
如果 429 集中出现在高并发时段,优先查频率和退避策略;如果 403 只在程序请求里出现,优先查 headers、Cookie 和访问顺序;如果验证码随单 IP 请求量上升而增加,再进入代理 IP 类型和轮换策略测试。
429 频繁出现时,先改并发、重试和单 IP 请求量
排查 429 时,先看请求频率、并发、重试和单 IP 请求量。很多 429 不是代理 IP 差,而是节奏太密。目标站如果对自动化访问敏感,应先降低频率、增加退避、减少无效重试、拆分任务和控制单会话请求量。否则换成住宅代理 IP,也可能只是把验证码延后出现。
建议做一个小样本对照:同一目标站、同一请求条件下,分别测试低频和高频、浏览器和程序、数据中心代理 IP 和住宅代理 IP。先确认是哪一类变量影响最大,再决定是否扩大代理 IP 采购。
没确定触发原因前,先做小样本对照
在没有确定触发原因前,直接扩大代理 IP 池很容易把问题放大。更稳的做法是保持目标站、接口、UA、Cookie、请求间隔和并发不变,每次只改变一个变量,比如代理 IP 类型或单 IP 请求量。
一轮小样本至少要记录成功率、状态码分布、验证码出现位置、平均响应时间和结果完整度。只看“能不能打开”不够,因为很多采集问题是在连续翻页、批量查询或重复访问后才出现。
浏览器能打开但程序 403,先查请求环境
浏览器能打开,不代表程序请求能通过。目标站可能检查 JavaScript 渲染、UA、headers、Accept-Language、Cookie、Referer、TLS 指纹、登录态和页面访问顺序。程序请求缺少这些信号时,代理 IP 正常也可能出现 403、空页面或验证码。
如果浏览器访问正常、程序访问 403,先补齐请求环境,而不是直接升级代理 IP。比如确认 UA 是否合理,headers 是否缺失,Cookie 是否过期,是否需要先访问首页再访问列表页,是否需要浏览器渲染。更细的程序端验证问题,可继续看浏览器能打开但程序一直验证码怎么办。
如果程序和浏览器都在同一代理 IP 下出现验证码,再看代理 IP 类型、地区命中、单 IP 使用强度和会话稳定性。采集 SOP 要把这些记录下来,而不是只记录“代理 IP 可用/不可用”。
低频访问仍然验证码很多,再判断代理 IP 类型是否匹配
如果低频访问仍然频繁出现验证码,且浏览器环境、headers、Cookie 和访问顺序都已经排查过,再重点看代理 IP 类型是否匹配。
| 采集条件 | 可先测试的代理 IP 类型 | 判断依据 |
|---|---|---|
| 低风控公开页面、基础连通性测试 | 数据中心代理 IP | 看成本、速度和基础成功率 |
| 多地区公开采集、价格监测、搜索结果采样 | 动态住宅代理 IP | 看地区命中、分散访问和验证码频率 |
| 登录态、同一账号、长会话采集 | 静态住宅代理 IP | 看地区一致、会话连续和账号验证变化 |
| 某类出口集中失败 | 换类型做对照 | 同地区、同请求条件下比较状态码分布 |
判断代理 IP 类型是否合适时,不要只看单次能不能打开页面。更有价值的是连续请求后的状态码分布、验证码出现位置、地区命中情况和单 IP 使用强度。如果同一套程序在低频、完整请求环境下仍然只对某类出口频繁失败,才说明需要调整代理 IP 类型。
排查后什么时候该换动态住宅代理 IP
动态住宅代理 IP适合多地区公开采集、价格监测、搜索结果采样和短会话轮换。它能分散访问来源,减少单一出口被用重的问题。
低风控公开站点或基础连通性测试,可以先用数据中心代理 IP验证成本。如果目标站对机房出口敏感、地区真实性要求高,或多轮后验证码明显增加,再测试动态住宅代理 IP。
涉及登录态、同一账号、长会话和稳定地区复查时,不要只靠频繁换 IP,应评估静态住宅代理 IP。住宅和数据中心的取舍可继续看数据采集用住宅代理 IP 还是数据中心代理 IP。如果想先看通用排障,可参考代理出现 403、429、验证码时先查什么;如果问题已经进入批量代理 IP 管理和可用率监控,则应单独参考大规模代理 IP 池的维护思路。
常见问题
爬虫 429 是代理 IP 被封了吗?
不一定。429 更常见于频率、并发、重试和目标站限流策略。先看请求节奏,再判断代理 IP 类型。如果低频、低并发下仍持续 429,再做不同代理 IP 类型和不同出口地区的对照。
为什么浏览器能打开,爬虫请求却 403?
常见原因是程序请求环境不完整,例如缺少 Cookie、Referer、Accept-Language、访问顺序或必要渲染。先把程序请求和浏览器请求对齐,再判断是否需要调整代理 IP 类型。
验证码突然变多,是不是该换动态住宅代理 IP?
不一定。先检查浏览器环境、UA、headers、Cookie、访问顺序、会话连续性和单 IP 请求量。动态住宅代理 IP 对短会话、多地区公开采集可能有帮助,但不能替代请求节奏和目标站规则排查。
代理 IP 池越大,429 就越少吗?
不一定。如果失败后立即重试、并发峰值过高,或多个任务共用出口,扩大 IP 池只是把同样的问题复制到更多出口。先改频率和退避,再根据低频测试结果判断是否需要扩池。
采集排查和普通代理 IP 连不上有什么不同?
采集 SOP 更关注状态码曲线、频率、headers、Cookie、会话和目标站策略;通用排障更关注协议、认证、连通性和代理 IP 配置。需要总排查路径时,可回到代理出现 403、429、验证码时先查什么。
做公开数据采集时,HTTP、HTTPS、SOCKS5 该怎么选?
按目标站和程序支持选择。先保证协议、认证和 DNS 行为正确,再比较代理 IP 类型和地区命中。协议选错会导致程序部分请求没走代理 IP,容易把接入问题误判成资源问题。
