外观
Scrapy 采集与清洗怎样支持重跑?
标准回答
采集系统要把网络获取与数据处理分开。下载重试处理暂时性错误,解析提取结构,Pipeline 进行规范化、必填检查、去重和持久化。来源页面变化时,应能够把异常样本隔离并告警,避免静默写入大量空字段。
重跑需要稳定的源记录 ID 或内容指纹、处理版本和状态检查点。对同一来源同一版本重复处理,应产生相同身份的写入或明确的更新,不能无限新增副本。内容规范化规则更新后,要能区分源数据变化和处理逻辑变化。
吞吐要受目标站点许可、速率约束、自身解析与存储容量限制。把并发调到最大只会把压力搬到下游。保留成功、重试、丢弃与隔离计数,按来源检查质量分布,才能发现数据偏移。
追问与回答
内容去重只用哈希够吗
哈希适合规范化后精确去重,不能识别语义近似和排版变体。近似去重需明确误合并成本,并保留原始来源关系。
任务中途失败如何续跑
保存已持久化的检查点和稳定记录身份,重放允许重复但写入保持幂等;不要仅用进程内计数认定哪些数据已安全保存。
易混淆点
- 把下载成功率当成数据正确率。
参考资料
内容来源
- Android 与 AI 工程 Wiki · 原条目
q132