看到 403,先别急着说“网站封了搜索引擎”。403 只是结果,原因分好几层。

两组实测

知乎首页,Baiduspider 和 Googlebot 都是 403,214 字节,正文为空,server 是 BLB。这是源站或负载均衡直接拒绝,没有挑战页。

Cloudflare 官网,Baiduspider 也是 403,但返回 5,200 字节,标题「Attention Required! | Cloudflare」,还带了 CSP、HSTS 等响应头。这是边缘节点的 Bot 挑战。

同样是 403,一个 214 字节空壳,一个 5KB 有内容的拦截页。处理方式完全不同。

怎么判断在哪一层

看 server。带 cloudflare、AkamaiGHost、AliyunOSS 的,拦截在 CDN。

看响应体。有挑战页、验证页,是 WAF;完全空,可能是源站或安全组。

换 UA 再抓。浏览器 UA 200、蜘蛛 UA 403,是 UA 维度的规则;全部 403,是 IP 或全局策略。

常见原因

WAF 的 Bot 管理默认拦截非浏览器 UA。

CDN 开了防爬,没把搜索引擎加白。

安全组或防火墙按地域封禁,蜘蛛节点在境外。

频率限制,短时间抓太多。

怎么修

在 WAF/CDN 放行目标蜘蛛的 UA 和官方 IP 段。

只放 UA 不够。真实蜘蛛有固定 IP,只放 UA 等于给伪造请求开门。

改完用 蜘蛛模拟抓取 复测,状态码回到 200 只是第一步,正文完整才算通。