搜索抓取

蜘蛛每次从哪进站:入口页的分布,决定了它接下来能走到哪

蜘蛛抓取不是无头无尾的遍历,每一轮都有起点。入口页集中在哪里,直接决定它能走到哪些栏目、多久走到深层页。本文梳理常见入口类型、如何从日志里自查入口分布,以及把入口引向重要页面的几个可操作做法。

搜索抓取

蜘蛛每次从哪进站:入口页的分布,决定了它接下来能走到哪

入口页这件事,容易被忽略

谈抓取时,多数人看的是“蜘蛛抓了多少”“平均响应多快”,很少看“蜘蛛是从哪一页开始走的”。实际上,蜘蛛每一轮抓取都从某些已知 URL 出发:可能是首页,可能是某条外链指向的落地页,也可能是上一轮留下的、更新频繁的页面。入口不同,可走的链接就不同,能发现的新 URL 自然也不一样。

换句话说,入口页的分布,等于给蜘蛛划了一条起跑线。起跑线在首页,它就要多走几层;起跑线本来就在栏目页,深层内容的距离就短一截。

常见的几类入口

  • 首页与全站导航:最稳定的入口。绝大多数站点第一轮抓取都从首页开始,沿着导航往下走。
  • 外链指向的落地页:站外引用直接给了某个 URL,蜘蛛会把这个页面当作起点,它下面能走多远,取决于该页面的内链是否完整。
  • Sitemap 与提交入口:相当于主动报备地址,对没有内链指向的页面来说,这往往是唯一的发现方式。
  • 历史抓取过的页面:更新频率高的页面会被反复回访,如果结构没变,蜘蛛还是沿同样的路径再走一遍。

入口不同,后面的路差别很大

一个页面被当作入口,蜘蛛会把它视为“已知”,而不是从零发现。接下来它做两件事:请求该页面,从返回的 HTML 里抽出可走的链接。所以入口页本身的质量很关键:

  • 入口页里有多少条可抓链接,决定了下一层能铺多宽;
  • 链接是写在 HTML 里,还是靠脚本渲染出来,决定了蜘蛛能不能看到;
  • 入口页本身的响应速度,会影响整个批次往后排队的节奏。
一个响应慢、链接又少的入口页,等于把后面所有页面都堵在了门口。

入口集中在低价值页面时

常见的情况是:外链和分享都指向筛选页、标签页或站内搜索结果页,蜘蛛也把这些当成起点,于是每一轮都在这些页面附近打转,真正的栏目页和详情页反而迟迟没人碰。这类页面数量多、组合多,抓取消耗远大于它带来的价值。

自查:从日志里看入口分布

  1. 按蜘蛛 IP 段筛出抓取日志,先看每一轮抓取的第一个请求落在哪个页面。
  2. 把入口 URL 归类:首页、栏目页、详情页、筛选或参数页,统计各自占比。
  3. 挑几个典型入口,顺着它的内链往下走两三层,看能到达哪些页面,再和抓取日志里的记录对照。
  4. 对比“入口能到达的页面”和“实际被大量抓取的页面”,两者偏差越大,说明路径越需要调整。

日志不完整也没关系,抓取统计类工具通常会给出一段时间内的抓取分布,够用来判断大致趋势。

把入口往重要的地方引

  • 外链尽量指向栏目页或核心页,而不是首页或参数页,让蜘蛛从更靠近内容的位置起步。
  • 首页给重要栏目固定的文字入口,位置稳定、长期不变,蜘蛛每轮都能顺着走。
  • Sitemap 覆盖内链薄弱的部分,尤其是那些只有一条链接、甚至完全没有内链的页面。
  • 减少低价值页面的入口曝光:筛选页、站内搜索页不要出现在导航、页脚和 Sitemap 中,必要时用 robots.txt 限制抓取。
  • 保证入口页稳定可访问,状态码、响应时间、是否被重定向,都会直接影响后续路径。

小结

抓取路径不是从整站平均开始的,而是从若干个入口页展开的。与其反复问“为什么深层页不被抓”,不如先看看每一轮抓取的起点是不是被低价值页面占满了。把入口分布调向栏目页和核心内容,路径自然会变得更短、更直。