印度投资项目采集器
从发布印度全国投资项目的政府门户网站采集全部项目,将分散的详细信息整理为一张包含 41 个字段的表格,并以可执行文件形式交付,供负责人直接使用。
采集数量
之前
逐个查询项目
之后
19,889 条 · 41 个字段
为保护客户信息,画面以模拟数据重新构建了相同功能。
背景
印度的投资项目信息公开在政府运营的 India Investment Grid 上。问题在于,这些信息按项目分散在各自的页面中。要了解哪个邦在哪个领域投入了多少资金,只能逐页打开查看。
现场所见
研究需要的不是单个项目,而是整体分布。但该门户网站以单项查询为前提设计,若要按领域、按阶段分析,必须先由人工把全部信息转录下来。考虑到项目数量,这项工作根本无从着手。
问题所在
比采集更难的是统一字段。各项目填写的字段不同,项目投资额的币种和单位混杂,含义相同的值也以不同的名称存放。要整理成一张表格,必须先处理这些差异。
解决方案
- 采集全部项目 —— 完整采集覆盖 41 个领域的项目
- 统一为 41 个字段 —— 将领域、子领域、项目阶段、总投资额、邦、实施方式、推进类型、预计完工日期等分散的数据对齐到同一列
- 以可执行文件交付 —— 负责人无需搭建 Python 环境即可运行
风险防范
数据量如此之大,必然会有部分请求失败。问题不在于是否失败,而在于事后能否找到失败的部分。
- 单独记录失败的地址 —— 请求中断或无响应时,将该地址记入单独的文件,采集继续进行
- 配套提供仅重新获取失败项的脚本 —— 无需从头全部重跑,第二轮采集只针对失败项
- 重新获取的结果同样按日期存档 —— 何时补齐了哪些数据,均有记录
- 每次并发 12 条,并为每个请求设置超时 —— 即使某条请求无响应,整体也不会停滞
结果
已将 19,889 条项目整理为 41 个字段。 其中可确认总投资额的有 19,087 条。
按领域划分,道路与高速公路最多,为 4,180 条,其后依次为给排水与废弃物处理 2,264 条、房地产 1,480 条、医疗卫生 1,271 条、教育 954 条、铁路 920 条。项目阶段分为开发中、实施中、已完成等 5 类。
更多同类案例请见网页数据采集。