ITSWE博客

CRCC 证书库重建:数据采集的工程纪律

老快照有整类盲区,全量重爬后有效证书多了近三成。四层采集方法、覆盖率自证、实体归并——一篇数据工程的完整方法论文。

itswe 有一块核心资产:铁路产品认证证书库。选型采购时“这家厂商这张证书还有效吗”是硬问题,唯一权威来源是认证机构的官方公开库。一次专项调研暴露了老快照的整类盲区,于是拍板全量重爬。这篇写方法——它适用于一切“从官方源头重建数据库”的场景。

起点:承认盲区,推倒重来

发现盲区的过程本身就值得一讲:一次特定品类的查询返回了可疑的空结果,交叉验证确认不是查询姿势的问题,是老采集方式的结构性缺陷——当年按厂商名逐家抓取,而厂商名录本身不全。修补无意义,因为你不知道你漏了什么;唯一可靠的是换一条不依赖厂商名录的采集主键,全量重来。

方法:四层漏斗

新方案的主键是“产品检索单元的模糊检索”——按品类逐个单元查询,绕开厂商名的截断陷阱(按厂商检索有结果条数上限,大厂直接丢数据)。四层结构:

第一层,把检索接口支持的全部检索单元枚举成字典,近六百个单元逐一查询。第二层,二元组合探针——把高频品类词两两组合再查一轮,这一层捞出了九千多条第一层没有的记录,证明官方检索对交叉品类的覆盖有缺口。第三层,失败的探针单独补跑,再捞一百多条。第四层,官方公告文件的人工精读,补录精确匹配漏掉的二十余张。

四层之后做覆盖率自证,这是整个方法的灵魂:用一条独立通道(公告汇总)与库内数据对撞,独立通道里的记录只有个位数不在库内;再把老库的每一张证书逐号比对,确认无一漏爬。没有自证的“全量”只是传说,覆盖率必须用独立数据源对撞出来。

战果与质量

终版:有效证书从三千二百九十一张涨到四千二百六十三张,增幅近三成;厂家从八百七十多家到九百八十多家,联系方式全覆盖。旧库等于缺失了近三分之一的市场——盲区的代价,比任何人预估的都大。

采集只是上半场,下半场是数据质量。最棘手的是实体归并:老厂商改制、更名、合并,同一实体在新名字下持有新证。直接按名字去重会把历史一刀切断。做法是按注册地址聚类:一千七百多家“消失”的历史厂商里,有一百多家被证实是改名壳(老牌车企改制、地方厂并入集团),真实主体数与名义数差着几十家。每一对归并都留证据,且明示口径局限——改名兼迁址的情形,同址证据看不见。

探针设计的细节

四层漏斗里最见功力的是第二层的组合探针,展开讲讲。官方检索的单元模糊查询有个特性:部分记录只在对复合品类的检索下出现,单一品类查询永远触达不到。穷举所有组合不现实,于是取高频品类词做两两组合——一百六十多个探针,一轮打出九千多条新增记录、一千一百多个此前未见的检索单元。这批新单元再作为新的检索单元补跑第一层,又捞一百多条。失败处理同样精细:探针超时或报错的,单独记账、单独补跑,不带病合并。

第三层的公告精读是兜底:官方周期性发布的产品公告文件,与库内数据天然独立,精读补录了二十余条。它同时承担自证职能——公告里的记录与库内对撞,只差个位数,覆盖率结论由此成立。多路独立通道互相校验,是数据完整性的唯一证明方式,单通道喊全量,喊破喉咙也只是自称。

成品形态:库、索引与查询工具

数据采集完的成品形态,决定了这批数据的可使用度。我们交付了四层:分状态的原始数据文件(全状态、有效、厂家、联系方式)、两个差异对照表(与老快照的增减)、一份终版报告,以及最重要的两个工具——一份结构化索引,把二十九个类别、七百多个类别单元组合的关键数字全部编目,数据刷新后重跑脚本即可重新生成;一个命令行查询工具,支持按关键词模糊查、只查厂家、限定类别、多条件与查询,自动选取最新日期的数据文件。

查询工具的存在有一个隐性的重要功能:防止人手翻旧文件。数据目录里存着新老多版快照,手工翻文件曾翻到旧版引发一轮混淆——有了自动选最新版的查询工具,这类错误从机制上消失。数据工程里,“防呆”比“提醒”高一个层级。

与内容侧的联动

证书库不是孤立的数据库,它反哺内容侧:词条里写某个产品品类,可以实时核对该品类下有效证书多少张、哪些厂家持有——数字与厂家名直接引用,出处即库。这种“数据资产反哺内容生产”的模式,是知识库区别于普通文章站的核心竞争力:文章会过时,管线不会。

工程纪律四条

过程中沉淀的纪律,比数据本身值钱。

一,对上游保持礼貌与敬畏:采集期间官网宕机了整整一天——持续爬取对任何官网都是负担,限速、断点续爬、失败记账三件套一个不能少,断了就从断点继续而不是从头再来。

二,失败即停:某个渠道连续失败就换路,采集是概率活,不是意志力测试。

三,成品是管线不是文件:数据会过期,文件会失真;可重跑的脚本加一个命令行查询工具,才是可持续形态。查询工具的深意在于防止人手翻旧文件——我们就发生过手翻老快照引发的一场混淆。

四,口径写在明处:每份产物的统计口径、采集时间、已知局限,随文件走。数据工程里最贵的成本,是三个月后没人记得这批数字怎么来的。

数据工程
返回全部文章