直接回答:当站点从几十个栏目扩到成百上千个页面、从单一来源扩到多来源时,手工维护火车头采集规则最先撑不住的环节是字段映射、唯一键校验、翻页与列表入口维护、失败重试和内容清洗。这些工作共同点是重复次数高、判断标准稳定、出错后影响面大,适合交给规则和脚本;而栏目取舍、来源可信度判断、旧合作关系是否退出,仍需要人来做决定。
假设你运营一个行业资讯站,早期只有 80 个页面,靠手工复制标题、正文、来源和发布时间,每周更新两次,完全能应付。半年后你接入三个内容来源,页面量涨到 3000,栏目从 4 个变成 20 个。这时你发现每天要花两小时改采集规则里的字段对应关系,因为不同来源的日期格式、作者字段位置、正文容器都不一样。这个情境的关键不是“量大了要自动化”这种空话,而是:哪些动作的决策成本已经低于执行成本,可以退出人工队列。
字段映射指把来源页面的标题、正文、作者、发布时间对应到目标字段。页面少时,手工在火车头采集规则里逐条调整可以接受;页面多、来源多时,每次来源改版都要重新核对一遍,手工的核对次数随来源数线性增长。
唯一键校验更典型。手工判断“这篇是否已采集过”在几十条时靠记忆或翻列表就行,到几千条时会出现重复入库、旧内容被覆盖、同一来源不同 URL 指向同一篇等问题。你可以做一个假设比较:如果每天新增 200 条,手工去重每条花 15 秒,一天约 50 分钟;用规则里的唯一键加校验步骤,前期配置可能花 2 小时,之后每天只需处理异常。这个比较不承诺任何工具效果,只说明决策依据是“配置成本能否被重复次数摊薄”。
实际动作:先把唯一键从“标题”改成“来源域名 + 来源文章 ID + 发布时间”的组合,再跑一批历史数据核对重复率。如果重复明显下降,说明唯一键设计是主要矛盾,下一步应继续完善字段映射;如果重复依旧,问题可能出在列表入口重复抓取,而不是唯一键本身。
站点规模小时,列表页只有一两个,翻页手工点几下就能确认。规模扩大后,列表入口可能来自栏目页、标签页、搜索页、RSS 或站内推荐位,翻页参数也各不相同。手工盯守的代价不是操作时间,而是你无法同时判断“是来源没更新”还是“规则失效”。
失败重试也是同理。手工重试适合少量、偶发失败;当失败量随采集量上升,人工重试会掩盖真正的失败原因,比如请求被限制、页面结构变化、编码不一致。可区分的证据是:如果失败集中在同一来源的同一时间段,更像来源侧限制;如果失败分散在多个来源的同一字段,更像字段规则问题。
这一步的实际动作:给列表入口和翻页单独建一组检查规则,记录每次抓取到的条目数和最早、最晚时间。若条目数突然归零,先别急着判定规则坏了,它也可能是来源当天没更新、入口被临时调整或请求被拦截。归零只是线索,不是结论。
内容清洗包括去广告、去无关推荐、统一段落、处理图片懒加载。这些判断标准一旦确定,就适合写进火车头采集规则,手工逐篇清洗在规模扩大后没有意义。
但旧内容、旧系统或旧合作关系需要退出时,取舍不能全交给规则。假设你决定停用一个旧来源,规则可以帮你停止采集、标记已有数据、保留仍被引用的页面;但“哪些旧内容还有价值、哪些合作关系值得保留、退出后是否影响现有栏目结构”需要人来判断。可操作的做法是:先给旧来源的内容打上标记,观察一段时间内这些页面的访问和引用情况,再决定是保留、合并还是下线。这个观察不构成因果证明,只作为决策参考。
仍应保留人工判断的部分:来源是否可信、栏目是否继续、旧合作关系是否退出、旧内容是否保留。把这些决定写进规则之前的取舍标准,比事后在几千条数据里逐条判断更省力,也更容易在下一次规模扩大时复用。