这类问题我又碰上了一次。在搜索资源平台点抓取诊断,状态一直停在等待中,三个小时没有结果。换一个地址也一样,抓取频次显示却一切正常。
第一反应是「服务器对搜索引擎 IP 段做了并发限制」,验证下来不成立。
这类报错背后常见的原因有几处,逐个排除就行。站点在百度侧的抓取配额被别的任务占满;诊断请求撞上源站限流,连接被挂起;站点正在跑全量推送,队列里积压太多。
先按蜘蛛 UA 自测一次耗时
curl -s -o /dev/null -w '%{http_code} %{time_total}\n' -A 'Mozilla/5.0 (compatible; Baiduspider/2.0)' https://www.lu0.cn/1.html
再往下看该时段有多少抓取在排队
grep -c Baiduspider access.log
接着放开对搜索 IP 段的并发限制
剩下的就是把全量推送与诊断时间错开
改完先别撤,确认这几项。诊断十分钟内出结果,抓取频次回到正常档位,页面状态与服务器日志能对上。
诊断卡住多半是站点自己在限流,先按蜘蛛 UA 自测一遍,比反复点重试有效。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。
