搜索抓取

列表分页与蜘蛛抓取:翻到第几页之后路径开始衰减

分页链接是蜘蛛在站内最常走的路径之一,但多数站点在某个页码之后抓取明显变稀。本文说明翻页深度由什么决定、哪些写法会让分页路径提前断掉,以及如何用聚合页、Sitemap 和详情页内链,给深层内容补上不依赖翻页的发现入口。

搜索抓取

列表分页与蜘蛛抓取:翻到第几页之后路径开始衰减

列表页和分页是蜘蛛在站内最常走的一条路:首页到栏目页,再到列表第 1 页、第 2 页……只要每页都有可点击的下一页链接,理论上它可以一直走下去。但实际看日志会发现,大多数站点在某个页码之后抓取记录就明显变稀了。这不是蜘蛛偷懒,而是这条路径的收益和成本在那一页发生了交叉。

蜘蛛翻页时在做什么

蜘蛛并没有翻页这个概念,它只是看到链接就排队。每一页对它来说都是一个新地址:要下载、要解析、要把里面的链接加进待抓队列。当第 N 页返回的内容与前面高度重复,或者新链接数量趋近于零时,继续往下走的动力就消失了。

换句话说,决定翻页深度的不是页码数字,而是这一页还能带来多少新地址。

哪些设计会让分页路径提前衰减

  • 下一页链接用脚本渲染。蜘蛛读不到 href,路径在第 1 页就断了。用 a 标签写死地址是最稳的做法。
  • 分页参数顺序不统一。同一个列表出现多种参数组合,蜘蛛在这些地址之间来回跑,消耗了抓取额度却没有多发现内容。
  • 每页条目太少。二十条一页和五十条一页,翻十页拿到的内容差一倍以上,后者更容易被走到更深处。
  • 列表页塞满推荐位。分页链接被推到页面下半部分,可见度和被跟随的机会都被稀释。
  • 深层内容只存在于第三十页。如果一篇文章只能从很靠后的列表页进入,它被抓到的概率会低很多。

让重要内容不依赖翻页深度

分页可以继续保留,但不要把发现路径全压在它身上。常见的做法是组合起来用:

  1. 给列表做合理的聚合入口,比如按分类、按时间、按标签的固定页面。
  2. 把真正重要的内容写进 Sitemap,让蜘蛛不必经过第三十页就能到达。
  3. 在详情页做相关推荐和上下篇,把深层页重新拉回主干路径。
  4. 对翻不到底的历史内容,用归档页或索引页做一层过渡。

怎么确认分页到底走到哪了

服务器日志是最直接的证据。筛出列表页的请求,看带分页参数的地址被请求到了第几页、多久来一次、返回码是什么。如果前几页每天都来,第六页以后一周才出现一次,说明路径在这里开始衰减。

同时留意两类异常:一是大量分页地址返回 200 但内容是空列表,这会白白消耗抓取额度;二是分页链接指向的地址返回 404,或者 301 跳到不相干的地方,路径会直接断掉。这两种情况都能在日志里通过状态码分布看出来。

分页不是越深越好,而是要让每一页都还值得被走一次。

小结

分页本身不制造问题,问题在于把内容的发现路径全部交给它。把分页链接写清楚、参数收敛、单页条目数控制在合理范围,再给深层内容补上 Sitemap 和内链入口,蜘蛛走过的路径自然会完整一些。