能迁移的是“把数据从列表页带到结构化字段”这条任务链,包括分页规律判断、字段映射思路、去重与增量意识;不能直接迁移的是绑定在旧行业页面结构上的具体规则,例如固定CSS选择器、固定翻页参数、旧站反爬节奏。判断标准不是教程新旧,而是新行业的页面是否仍满足“列表可枚举、详情可定位、字段可稳定提取”这三个前提。
火车头这类采集工具的核心操作可以拆成四层:入口与分页、列表提取、详情页提取、数据落库与去重。行业转换后,第一层和第四层的方法论通常保留,第二、三层往往要重写。
一个实际动作是:把旧任务里的规则逐条标注为“结构无关”或“结构相关”。结构无关的进入新任务模板,结构相关的全部清空重配。这样做的结果是,你不会在新行业里反复调试一条本就不该沿用的选择器,而是把时间花在重新观察新页面结构上。
保留旧规则成立的前提是:新旧行业的页面由同一类建站系统生成,列表与详情的DOM层级基本一致,字段含义也能对应。例如从一种商品站转到另一种商品站,如果两者都用相似的列表加详情结构,且标题、价格、描述字段位置接近,那么旧规则可以小改后复用。
必须重写的条件更常见:新行业的列表是接口返回JSON而非HTML、详情内容由前端渲染、字段数量与类型发生明显变化。此时继续套旧规则,典型表现是列表能抓到但详情为空,或字段错位。遇到这种情况,下一步不是加大请求频率,而是先确认数据是在HTML里还是在接口响应里。
假设一个场景:旧任务是抓取带固定分页参数的列表,新行业改为滚动加载。此时分页规则不能迁移,但“先确定数据边界再抓取”的思路可以迁移。你可以先手动记录滚动几次后出现重复内容,再据此设定采集深度。这个假设只用于说明判断方法,不代表任何具体站点的现状。
不要凭教程发布日期做决定,用新任务的实际表现来判断:
这里要注意一个反常现象:抓取量突然归零,并不一定说明旧方法彻底失效。它也可能是页面改版、入口变更、访问被限制或数据本身下架。把归零直接当成“方法错误”会导致误判,合理做法是分别验证入口、响应内容和提取规则,再决定改哪一层。
行业变了,字段含义往往跟着变。旧行业的“编号”在新行业可能对应“SKU”,旧行业的“描述”可能拆成多个属性。先写一张新字段对照表,左列是新页面实际存在的字段,右列是你要落库的字段,中间标注提取来源。只有对照表确定后,再去配置采集规则。
这个动作的结果是:你能提前发现哪些字段根本不存在,从而避免为一个抓不到的字段反复调整规则。字段对照表确定后,再决定哪些旧规则可以映射过来,哪些必须新建。
行业转换后,保留的是任务拆解、去重增量、字段对照这些与页面结构无关的方法;改写的是分页、列表与详情提取规则;退出的是绑定旧站结构的正则、入口和登录方式。先验证新页面是否满足可枚举、可定位、可提取,再决定保留还是重写,比直接套用旧教程更可靠。