蜘蛛池知识

蜘蛛池的抓取深度:蜘蛛从入口往下翻几层就停了

蜘蛛池投放之后,蜘蛛常常只停在入口页附近,深层 URL 迟迟拿不到抓取。本文解释抓取深度是怎么一层层衰减的,链接所在位置、每层链接数量、路径长度和回链如何影响深度,并给出压平层级、增加进入路径、用日志验证实际抓取深度的具体做法。

蜘蛛池知识

蜘蛛池的抓取深度:蜘蛛从入口往下翻几层就停了

蜘蛛池能不能发挥作用,往往不取决于投了多少条链接,而取决于蜘蛛进来之后愿意往下走多远。入口页被访问,不等于深层页面被访问,中间隔着的层级越多,被翻到的概率就越低。

抓取深度是怎么形成的

蜘蛛从入口页开始抓取,沿着页面上的链接一层层往下走。每往下一层,可分配的抓取额度、链接权重和点击概率都会衰减。多数情况下,第二层还能拿到不少访问,第三层开始明显减少,到了第五层以后,除非有别的路径把页面重新提上来,否则很可能长期停在那里。

这不是某个搜索引擎特有的规则,而是资源分配的自然结果:蜘蛛的时间和带宽有限,入口页经常在变,深层页可能几个月都不动,优先级自然排在后面。

影响深度的几个具体因素

  • 链接所在位置:正文里的链接比页脚、侧栏的链接更容易被跟进,位置越靠前越明显。
  • 每层的链接数量:一个页面挂几十上百条链接,单条链接分到的关注会被稀释。
  • 路径长度:从入口到目标页需要经过几次跳转,跳转越少越容易被抓到。
  • 是否有回链:深层页面只进不出、没有任何页面对它回链,很容易变成孤岛。
  • 页面是否长期不变:内容常年不动,重复抓取的价值低,深度再浅也可能被跳过。

三种常见的深度问题

把所有链接都堆在入口层

看起来省事,实际是把入口页变成了链接列表。蜘蛛虽然一次能拿到全部 URL,但页面本身缺少内容支撑,也缺少让蜘蛛判断优先级的信号,后续跟进往往不稳定。

深层页面没有任何回链

只靠入口页一条路径往下走,中间任何一层出问题,后面的页面就跟着断掉。加上同域内互相回链,可以给深层页面多留几条进入路径。

层级越铺越深

为了显得结构丰富,把链接做成入口到分类、分类到子分类、子分类再到目标页,每多一层就多一次衰减。对以 URL 发现为主要目标的蜘蛛池场景来说,层级能压就压。

判断标准可以很简单:从入口页出发,点几下能到目标页。点击数越少,被翻到的机会越大。

把重要页面往前提的做法

  1. 把最需要被抓的 URL 放在离入口一到两跳的位置,不要藏在第三层之后。
  2. 控制入口页的链接数量,留出内容描述,不要把页面做成纯列表。
  3. 在多个页面重复指向同一批目标 URL,形成多条进入路径。
  4. 深层页面加上返回上层或相关页面的链接,避免成为终点。
  5. 定期整理长期没有抓取记录的页面,要么换入口,要么从投放清单里去掉。

用日志验证实际深度

深度不能靠猜。把访问日志按 URL 和 referer 排一下,看蜘蛛是从哪个页面进来的、往下走了几层、在哪一层停住,就能比较清楚地判断问题出在入口页、中间页还是目标页。如果发现绝大多数抓取都停在第一层,优先检查入口页的链接位置和数量,而不是继续加投放量。

小结

蜘蛛池解决的是让蜘蛛知道有这么个 URL,但能不能真的被读到,还取决于路径够不够短、链接够不够明显、页面值不值得再抓一次。层级压平、进入路径多一些、入口页别太拥挤,通常比单纯堆链接更有效。