先给结论:入口页面正常只说明抓取起点可达,不能证明从入口到深层新闻页的整条链路都通。定位断点应把“入口→列表页→详情页”拆成独立节点,逐段验证抓取、渲染和链接发现,而不是反复提交入口或站点地图。样本少时成立的方法,在规模化后常因分页、参数或权限差异失效,因此要按节点留证据、按条件决定保留还是改写。
入口页正常通常指返回码为 200、首屏能渲染出若干条目标链接。但这只覆盖链路第一段。深层失效可能出现在三处:列表页翻页后链接不再输出;详情页需要额外请求才显示正文;或链接虽然可见,却落在 robots.txt 禁止抓取的路径下。三者表现相似,处理动作完全不同。
一个实际动作是:对同一栏目抽入口、第二页、第三页和一条详情页,分别保存返回码、最终 URL 和渲染后可见的链接文本。如果入口 200 而第二页起返回 200 却无目标链接,断点更可能在分页渲染或参数拼接;如果链接存在但被 robots.txt 拦截,则属于抓取限制,此时改站点地图或提交入口都不会解决深层问题。
这两种情况的证据不同。链接没出现,要看列表页在无脚本、带脚本两种状态下输出的 HTML 是否一致;链接出现但不可达,要单独请求详情页,记录状态码、跳转链和最终落地页。把两者混在一起,容易把渲染问题误判成服务器问题。
假设一个栏目共 40 页,入口和前 5 页正常,第 6 页起链接为空。抽样时不要只抽第 6 页,而应抽第 6、10、20 页各一条,比较它们的 URL 参数、分页组件版本和接口返回。若只有带某个参数的页失效,断点更可能在该参数的处理逻辑,而不是整站抓取能力。这个例子是假设,用于说明比较方法,不代表真实站点数据。
需要边界:如果站点用无限滚动或前端路由,链接是否“出现”取决于渲染时机,静态 HTML 抓取看不到全部结果。此时不能直接套用静态列表页的排查顺序,应先确认目标页面是否依赖客户端渲染,再决定是否改用可被抓取的静态入口。
定位到断点后,处理方式不是越彻底越好,而要看断点是否可稳定复现、影响面是否随规模扩大。
三种取舍可以并存:主路径保留,个别参数路径改写,确实不可达的路径退出。关键是每一步都留下可复查的记录,而不是凭单次现象下结论。
记录至少包含:抽样时间、入口 URL、中间页 URL、详情页 URL、返回码、最终落地页、robots.txt 是否允许、以及渲染后是否出现目标链接。这样做的结果是,你能判断断点是稳定复现还是偶发。稳定复现的断点才值得改写;偶发断点先排除网络抖动、缓存和发布窗口,再决定是否继续投入。
还要注意:robots.txt 的抓取限制不等于可靠的索引移除,站点地图不保证收录,HTTPS 也不保证安全无漏洞或排名。这些事实影响的是判断顺序,不是替代断点定位。请求量或抓取量归零也不能单独证明处理正确,它可能来自发布节奏、抓取预算分配或路径本身被屏蔽,需要结合上述记录解释。
如果抽样只在个别样本成立,规模化后出现例外,说明当前结论的适用条件还没写清。此时应回到节点拆分,确认例外样本是否走了不同参数、不同模板或不同权限,再决定是扩大改写范围还是收窄适用范围。定位断点的终点不是找到某个原因,而是明确在什么条件下保留、改写或退出,并让下一次抽样能验证这个判断。