蜘蛛池能不能发挥作用,往往不取决于投了多少条链接,而取决于蜘蛛进来之后愿意往下走多远。入口页被访问,不等于深层页面被访问,中间隔着的层级越多,被翻到的概率就越低。
抓取深度是怎么形成的
蜘蛛从入口页开始抓取,沿着页面上的链接一层层往下走。每往下一层,可分配的抓取额度、链接权重和点击概率都会衰减。多数情况下,第二层还能拿到不少访问,第三层开始明显减少,到了第五层以后,除非有别的路径把页面重新提上来,否则很可能长期停在那里。
这不是某个搜索引擎特有的规则,而是资源分配的自然结果:蜘蛛的时间和带宽有限,入口页经常在变,深层页可能几个月都不动,优先级自然排在后面。
影响深度的几个具体因素
- 链接所在位置:正文里的链接比页脚、侧栏的链接更容易被跟进,位置越靠前越明显。
- 每层的链接数量:一个页面挂几十上百条链接,单条链接分到的关注会被稀释。
- 路径长度:从入口到目标页需要经过几次跳转,跳转越少越容易被抓到。
- 是否有回链:深层页面只进不出、没有任何页面对它回链,很容易变成孤岛。
- 页面是否长期不变:内容常年不动,重复抓取的价值低,深度再浅也可能被跳过。
三种常见的深度问题
把所有链接都堆在入口层
看起来省事,实际是把入口页变成了链接列表。蜘蛛虽然一次能拿到全部 URL,但页面本身缺少内容支撑,也缺少让蜘蛛判断优先级的信号,后续跟进往往不稳定。
深层页面没有任何回链
只靠入口页一条路径往下走,中间任何一层出问题,后面的页面就跟着断掉。加上同域内互相回链,可以给深层页面多留几条进入路径。
层级越铺越深
为了显得结构丰富,把链接做成入口到分类、分类到子分类、子分类再到目标页,每多一层就多一次衰减。对以 URL 发现为主要目标的蜘蛛池场景来说,层级能压就压。
判断标准可以很简单:从入口页出发,点几下能到目标页。点击数越少,被翻到的机会越大。
把重要页面往前提的做法
- 把最需要被抓的 URL 放在离入口一到两跳的位置,不要藏在第三层之后。
- 控制入口页的链接数量,留出内容描述,不要把页面做成纯列表。
- 在多个页面重复指向同一批目标 URL,形成多条进入路径。
- 深层页面加上返回上层或相关页面的链接,避免成为终点。
- 定期整理长期没有抓取记录的页面,要么换入口,要么从投放清单里去掉。
用日志验证实际深度
深度不能靠猜。把访问日志按 URL 和 referer 排一下,看蜘蛛是从哪个页面进来的、往下走了几层、在哪一层停住,就能比较清楚地判断问题出在入口页、中间页还是目标页。如果发现绝大多数抓取都停在第一层,优先检查入口页的链接位置和数量,而不是继续加投放量。
小结
蜘蛛池解决的是让蜘蛛知道有这么个 URL,但能不能真的被读到,还取决于路径够不够短、链接够不够明显、页面值不值得再抓一次。层级压平、进入路径多一些、入口页别太拥挤,通常比单纯堆链接更有效。