先说结论:蜘蛛模拟抓取不是“看看网站能不能打开”,它是拿同一个 URL,在不同蜘蛛身份下做对照。

我写这篇前拿百度首页跑了一轮:Baiduspider 拿到 2,443 字节,Googlebot 拿到 17,143 字节,bingbot 只拿到 227 字节,内容是一段 JS 跳转。同一个地址,三种结果。

操作只有三步,但第三步决定成败

选蜘蛛类型,填 URL,点抓取。

关键在填什么 URL。别填首页。首页通常有缓存、有 CDN 特殊处理,还有 UA 分流,代表不了内页。挑一个最近没收录的内容页,结果才有诊断价值。

结果先看字节数

状态码 200 只说明请求成功,不代表内容完整。

看 body_bytes。同样一个页面,正常内容页一般几十 KB 到几百 KB;只有 2KB 左右,大概率是框架壳、跳转页或者拦截页。

再看标题。标题是默认值、空值,或者写着“访问验证”,基本可以判定蜘蛛没拿到真正的页面。

最后在正文里搜一个只有该页才有的词。搜不到,前面的 200 就没有意义。

一次至少测两个 UA

只测百度,你不知道问题是百度特有,还是全站问题。

百度 403、Google 200,查百度 UA 的拦截规则;两个都 403,查 WAF 公共策略;两个都 200 但正文都空,查渲染方式。

用 蜘蛛模拟抓取 把目标搜索引擎和 Googlebot 各跑一次,两份结果放一起看,比单看一份靠谱得多。