搜索抓取

分页翻到第几页:蜘蛛在“下一页”上的止步点与抓取顺序

列表页分页是蜘蛛最常走的路径之一,但很多站点在“下一页”按钮、参数链接和规范化标注上设了隐形的墙。本文讲蜘蛛怎么顺着分页走、常见止步点在哪、页码链接该怎么给、分页如何避免摊薄抓取预算,以及无限滚动的处理方式。

搜索抓取

分页翻到第几页:蜘蛛在“下一页”上的止步点与抓取顺序

列表页是蜘蛛最常走的路径之一,尤其是电商、资讯和聚合类站点,首页往下大多是分类页与分页。分页结构设计得顺不顺,直接决定蜘蛛能翻到第几页,以及翻页时会不会把抓取预算浪费在重复内容上。

蜘蛛是怎么顺着“下一页”走的

蜘蛛抓到列表第一页后,会解析页面里的链接。如果每页只有“下一页”指向第二页,第二页再指向第三页,整条链路就是一串单链:第 10 页要等前 9 页都抓完,才可能被排上队。抓取队列按优先级与时间排序,链接越靠后、被发现得越晚,回访间隔也可能被拉长。

如果分页之外还有页码入口,比如“1 2 3 4 5 … 下一页”,情况会好一些。蜘蛛可以在一次抓取里拿到多个分页地址,而不是一格一格往前挪。

蜘蛛常见的止步点

  • “下一页”是按钮而不是链接,点击后由 JS 加载内容,HTML 里没有可解析的地址。
  • 分页链接指向带复杂参数的地址,被 robots.txt 或站内规则挡住,蜘蛛走到这里就断了。
  • 靠后的页码没有直接入口,只能一页页点,蜘蛛翻到预算用完就停。
  • 翻页内容高度重复,标题、摘要、列表项几乎一样,蜘蛛继续翻的动力下降。
  • 分页页被全部 noindex,或者统一规范化到第一页,链接发现路径会被削弱。

把分页修成蜘蛛好走的样子

  • 用真实的 a 标签输出分页链接。JS 渲染的“加载更多”对蜘蛛来说等于没有入口。
  • 保留一组可爬取的页码链接,或者至少保证“下一页”始终是链接形式。
  • 分页页不要全部 noindex,也不建议全部规范化到第一页。常见做法是让第一页自指,后续分页也自指,再通过分页关系标注表达序列。
  • 每页条目数别太少。一页只有三五条时,翻十几页才能覆盖一批内容,抓取与渲染成本都不划算。
  • 如果内容确实需要一次性看全,可以提供一个“查看全部”页面,同时保留分页链接作为发现路径。

分页也在花抓取预算

列表页本身产出有限,但它占用请求额度。站点评级、URL 总量、抓取速度都会影响蜘蛛一天能抓多少。分页层数多、页面又薄,等于把预算摊在低价值页面上。可以适当加大每页条数,或用分类、标签、专题等横向页面提供更多入口,减少靠“一直点下一页”来发现内容。

想确认蜘蛛是否翻到了后面几页,直接看服务器访问日志里有没有 /page/2/、?paged=2 这类请求。只有第一页有记录,基本可以判断分页链路在某处断了。

无限滚动的处理

无限滚动对用户友好,但它通常依赖滚动事件或观察器触发请求,蜘蛛不会去滚动页面。稳妥的做法是给每段内容一个可访问的分页地址,首屏之外的内容在 HTML 里保留链接,或者为关键列表提供预渲染版本。

分页不是越深越好,也不是越浅越好。核心是让蜘蛛有一条清楚、可走、每一步都值得走的路径:链接真实可解析,翻页顺序明确,内容不重复,页面数量可控。做到这几点,蜘蛛翻到哪一页就不再是运气问题。