搜索抓取

抓取深度与站点层级:蜘蛛能翻到多深的页面

蜘蛛能翻多深,并没有一个写死的层数。它取决于入口页的集中度、链接位置、列表页分页方式、服务器响应和 URL 是否可抓。本文讲清点击距离如何影响深层页面被发现,以及怎样通过导航、分页、Sitemap 和日志把深度问题看清楚。

搜索抓取

抓取深度与站点层级:蜘蛛能翻到多深的页面

不少人会问,蜘蛛到底能抓到多深的页面。这个问题没有统一答案,因为它不是蜘蛛给自己设了一个层数上限,而是你的站点结构、链接分布和服务器表现共同作用出来的结果。

抓取深度不是一个固定数字

搜索蜘蛛通常从几个入口开始:首页、被外链指向的页面、Sitemap 里列出的 URL,以及提交入口给出的地址。从这些入口出发,它能沿着链接往外走多远,取决于每一步路上有没有可跟随的链接,以及走这条路要花多少时间。所以同样是五层页面,在没有内外链支撑的站点里可能一直进不去,在结构清晰的站点里却可能很快被翻到。

点击距离:从入口到目标页要几步

更实用的衡量方式是点击距离,也就是从入口页点几次链接能到达目标页。一般越靠近入口的页面,被反复抓到的机会越大;越深的页面,抓取频次往往越低。这不是惩罚,而是路径变长之后,蜘蛛要分给每条路的资源自然变少。如果某个重要页面被埋在一堆中间页后面,它就会被排在相对靠后的位置。

影响深度的几个现实因素

  • 入口页的集中度:如果全站链接都挤在首页,入口单一,深页的路径就更长;如果栏目页、聚合页也能作为入口,情况会好很多。
  • 链接所在位置:正文里的链接比页脚、侧栏的通用链接更容易被当成有意义的路径。
  • 分页方式:列表页只做无限滚动、不给出可点击的分页链接,蜘蛛就难以继续往后翻,后面的内容自然进不去。
  • 服务器响应:响应慢或超时,蜘蛛可能中途停止这一轮抓取,深度也就停在半路。
  • URL 本身可抓性:带大量参数的地址、需要交互才出现的地址,都会让路径中断。

想让深层页面更容易被翻到

  1. 把重要页面放进主导航、面包屑或栏目页,缩短点击距离。
  2. 列表页做正常分页,给出可点击的页码或下一页链接,别只靠滚动加载。
  3. 用 Sitemap 补充列出深层 URL,作为入口之外的补充线索,而不是唯一指望。
  4. 在正文里做有限的相关推荐和横向连接,让页面之间互相可达,但别硬塞一堆无关链接。
  5. 保持服务器稳定,别让蜘蛛在爬到一半时遇到超时。

用日志确认实际深度

与其猜蜘蛛翻到了第几层,不如看日志。可以在日志里筛出蜘蛛的请求,按路径观察哪些栏目被抓得频繁、哪些子目录几乎没有记录;也可以挑几个深层页面,看它们在一定周期内是否出现过抓取记录,以及来的路径大概是什么。如果某类页面长期没有抓取痕迹,再回头看它的入口、分页和链接位置,通常能定位到症结。

抓取深度是结果,不是可以单独调的目标。把入口铺好、路径理顺、服务器稳住,深层页面被发现的机会自然会上来。