采集规则编写:首页与内页怎样分配任务

📍 WDQWDWQD987AAAAA:216.73.216.24
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /12e42e44ef50.html
📄

采集规则编写:首页与内页怎样分配任务

采集规则编写时,首页与内页的任务分配应遵循一条主线:首页负责发现入口,内页负责提取字段。具体做法是让首页规则只抓取栏目页或详情页的链接,把标题、正文、时间、作者等字段留给内页规则处理;两类规则分开维护,避免一条规则同时承担导航和内容提取两种职责。

准备:先画清采集层级再写规则

动手写规则前,先把目标站点拆成层级。常见结构是:首页或列表页包含若干链接,链接指向详情页,详情页里才是需要入库的字段。判断依据是页面类型,而不是网址长短。可以按下面的检查项过一遍:

如果入口页本身也带正文摘要,不要急着在首页规则里提取正文,否则后续详情页规则会与它冲突。先确定字段归属,再决定规则写在哪一层。

实施:首页规则与内页规则各管什么

首页或列表页规则的核心任务是产出可继续访问的链接。它通常需要处理列表容器、链接选择器和翻页逻辑。内页规则的核心任务是从单个详情页提取结构化字段,它不负责发现新链接,只对传入的网址逐条处理。

一个可执行的分配方式是:

  1. 首页规则提取链接,输出字段只保留“详情页网址”和必要的分类标记。
  2. 内页规则接收网址,提取标题、正文、发布时间、来源等字段。
  3. 两类规则分别保存,命名上体现层级,例如“列表-栏目A”和“详情-通用”。
  4. 用一条测试网址跑通内页规则,再用首页规则跑出若干链接,确认链接能进入内页规则。

最关键的一步是先固定内页字段,再回头调整首页链接。因为字段结构决定了下游数据是否可用,而链接只是入口。若先堆首页链接,后面很容易因为详情页字段不统一而反复返工。

验证:用少量样本判断分配是否合理

验证时不要只看抓取数量。可以取三条不同类型的详情页做对照:一条来自首页直接推荐,一条来自列表翻页,一条来自栏目页。检查同一字段是否都能取到值,缺失时是规则问题还是页面本身没有该字段。

常见现象与可能原因:

判断结果的标准是:首页规则输出的链接能稳定进入内页规则,内页规则对样本页的字段提取结果一致。达不到这一点,先修规则,不要扩大采集范围。

维护:规则变动时先改哪一层

页面改版后,先判断变化发生在哪一层。入口页的列表结构变了,就改首页规则的链接选择器和翻页逻辑;详情页的字段位置变了,就改内页规则。若两层同时变化,先恢复内页字段提取,再恢复入口链接,因为字段是最终交付物。

维护时保留一份字段对照表,记录每个字段来自哪一层、用什么选择器、最近一次验证的样本网址。这样下次页面调整时,能快速定位是首页任务还是内页任务需要修改。对于采集规则编写来说,首页与内页的分配不是一次性的,而是随页面结构变化持续校准的过程。

下一步可以选一个目标栏目,先写出内页字段清单,再写首页链接规则,用三条样本页跑通后再扩展到全站。

图1 图2

nginx