把印度政府投资门户的 19,889 个项目整理为 41 个字段
从汇集印度全国投资项目的政府门户收集全部项目,把分散的详细信息做成一张含 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 类。
用同样方式完成的其他工作,集中收录在 Web 数据收集 中。
事实出处
交付物 Excel 文件