入口页这件事,容易被忽略
谈抓取时,多数人看的是“蜘蛛抓了多少”“平均响应多快”,很少看“蜘蛛是从哪一页开始走的”。实际上,蜘蛛每一轮抓取都从某些已知 URL 出发:可能是首页,可能是某条外链指向的落地页,也可能是上一轮留下的、更新频繁的页面。入口不同,可走的链接就不同,能发现的新 URL 自然也不一样。
换句话说,入口页的分布,等于给蜘蛛划了一条起跑线。起跑线在首页,它就要多走几层;起跑线本来就在栏目页,深层内容的距离就短一截。
常见的几类入口
- 首页与全站导航:最稳定的入口。绝大多数站点第一轮抓取都从首页开始,沿着导航往下走。
- 外链指向的落地页:站外引用直接给了某个 URL,蜘蛛会把这个页面当作起点,它下面能走多远,取决于该页面的内链是否完整。
- Sitemap 与提交入口:相当于主动报备地址,对没有内链指向的页面来说,这往往是唯一的发现方式。
- 历史抓取过的页面:更新频率高的页面会被反复回访,如果结构没变,蜘蛛还是沿同样的路径再走一遍。
入口不同,后面的路差别很大
一个页面被当作入口,蜘蛛会把它视为“已知”,而不是从零发现。接下来它做两件事:请求该页面,从返回的 HTML 里抽出可走的链接。所以入口页本身的质量很关键:
- 入口页里有多少条可抓链接,决定了下一层能铺多宽;
- 链接是写在 HTML 里,还是靠脚本渲染出来,决定了蜘蛛能不能看到;
- 入口页本身的响应速度,会影响整个批次往后排队的节奏。
一个响应慢、链接又少的入口页,等于把后面所有页面都堵在了门口。
入口集中在低价值页面时
常见的情况是:外链和分享都指向筛选页、标签页或站内搜索结果页,蜘蛛也把这些当成起点,于是每一轮都在这些页面附近打转,真正的栏目页和详情页反而迟迟没人碰。这类页面数量多、组合多,抓取消耗远大于它带来的价值。
自查:从日志里看入口分布
- 按蜘蛛 IP 段筛出抓取日志,先看每一轮抓取的第一个请求落在哪个页面。
- 把入口 URL 归类:首页、栏目页、详情页、筛选或参数页,统计各自占比。
- 挑几个典型入口,顺着它的内链往下走两三层,看能到达哪些页面,再和抓取日志里的记录对照。
- 对比“入口能到达的页面”和“实际被大量抓取的页面”,两者偏差越大,说明路径越需要调整。
日志不完整也没关系,抓取统计类工具通常会给出一段时间内的抓取分布,够用来判断大致趋势。
把入口往重要的地方引
- 外链尽量指向栏目页或核心页,而不是首页或参数页,让蜘蛛从更靠近内容的位置起步。
- 首页给重要栏目固定的文字入口,位置稳定、长期不变,蜘蛛每轮都能顺着走。
- Sitemap 覆盖内链薄弱的部分,尤其是那些只有一条链接、甚至完全没有内链的页面。
- 减少低价值页面的入口曝光:筛选页、站内搜索页不要出现在导航、页脚和 Sitemap 中,必要时用 robots.txt 限制抓取。
- 保证入口页稳定可访问,状态码、响应时间、是否被重定向,都会直接影响后续路径。
小结
抓取路径不是从整站平均开始的,而是从若干个入口页展开的。与其反复问“为什么深层页不被抓”,不如先看看每一轮抓取的起点是不是被低价值页面占满了。把入口分布调向栏目页和核心内容,路径自然会变得更短、更直。