全球商品评论整合采集器
受一家全球市场调研机构委托,从北美、拉美的主要零售平台及家电品牌官方商城共十二处采集产品评论。各平台提供数据的方式不同,因此没有用一个采集器应对所有平台,而是按平台分别获取,再合并为统一格式的表格。
评论数据获取
之前
各平台以不同方式分别处理
之后
十二处数据汇成一张统一格式的表格
为保护客户信息,画面以模拟数据重新构建了相同功能。
背景
在市场调研中,产品评论是原始数据。但评论大多集中在访问条件最严格的大型零售平台上。调研方案已经就绪,却屡屡卡在获取数据这一步。
现场所见
各平台提供数据的方式各不相同:有的对请求间隔敏感,有的会因访问环境不同而返回不同的结果,有的则通过独立 API 单独提供评论数据。想用一个采集器应对所有平台,结果是哪个平台都无法稳定运行。
问题所在
我们决定按平台采用不同的接入方式,而之后的清洗、合并与输出统一处理。采集中断是个别平台的问题,而结果格式不一是整体的问题。
解决方案
- 按平台定制的采集引擎 —— 针对美国、巴西的主要零售平台和家电品牌官方商城,按各网站提供数据的方式分别接入
- 界面变化不影响取值 —— 部分平台不读取页面外观,而是通过 Chrome 扩展直接引用页面已加载的内部数据
- 请求分流与三级并行采集 —— 不从单一来源集中发送请求,而是分多条路径获取。设计以文档形式留存,确保可复现
- 统一输出 —— 无论来自哪个平台,都输出为统一格式的表格
风险防范
针对长达数日的采集中实际会出现的情况,均在代码中做了处理,并通过 26 项验证确认其按预期运行。
- 中断后续采 —— 从已保存的进度点与实际已采集数量中取较小值重新开始。重复获取的成本,远低于事后才发现遗漏的成本
- 合并时去重 —— 以唯一标识符合并,已获取的数据保持不变
- 路径切换 —— 无响应或响应格式异常时,切换到其他路径,从中断处继续
- 格式异常的数据不会进入表格 —— 获取的值与预期格式不符时,当即过滤
- 自动限制并发数 —— 设定值过高时自动下调。控制节奏,才能让持续数日的采集顺利完成
结果
平台即使有十二个,结果也是一张统一格式的表格。 列结构不随数据来源变化,无需再次整理,可直接用作分析数据。即使新增一个平台,增加的也只是该平台的接入方式,之后的清洗、合并与输出无需改动。
更多同类案例请见网页数据采集。