インド投資プロジェクト収集ツール
インド全土の投資プロジェクトを掲載する政府ポータルから全件を収集し、ページごとに分散していた詳細情報を41項目の一つの表にまとめました。担当者がすぐに使えるよう、実行ファイルとして納品しました。
収集件数
以前
プロジェクトを1件ずつ照会
以後
19,889件 · 41項目
画面はお客様情報保護のため、同じ機能をモックデータで再構成したものです。
背景
インドの投資プロジェクト情報は、政府が運営するIndia Investment Gridで公開されています。 ただし、情報はプロジェクトごとに1ページずつ分かれています。どの州のどの分野に どれだけの資金が動いているかを把握するには、ページを一つずつ開く必要がありました。
現場の状況
研究に必要だったのは、個々のプロジェクトではなく全体の分布でした。しかしポータルは1件ずつの 閲覧を前提に作られており、分野別・段階別に分析するには、まずすべてを手作業で書き写す必要が ありました。プロジェクトの数を考えれば、とても着手できる作業ではありませんでした。
課題
難しかったのは、収集よりも項目をそろえることでした。プロジェクトによって入力されている項目が 異なり、事業費は通貨や単位が混在し、同じ意味の値が別の名前で登録されていました。 一つの表にまとめるには、まずこうした違いを整理する必要がありました。
開発内容
- 全プロジェクトの収集 — 41セクターにわたるプロジェクトを漏れなく収集しました
- 41項目への正規化 — セクター・サブセクター・事業段階・総事業費・州・実施方式・ 事業形態・完工予定日など、ばらばらだった値を同じ列にそろえて格納しました
- 実行ファイルで配布 — 担当者がPython環境なしで実行できる形で納品しました
リスク対策
これだけの件数を取得すれば、一部は必ず失敗します。重要なのは失敗するかどうかではなく、失敗した ものを後から特定できるかどうかです。
- 失敗したURLは別に記録 — リクエストが途切れたり応答がなかったりした場合は、そのURLを 別ファイルに記録します。収集はそのまま続きます
- 失敗分だけを再取得するスクリプトも用意 — 全体を最初から実行し直す 必要はありません。2回目の収集は、失敗した分だけが対象です
- 再取得した結果も日付を付けて保存 — 何をいつ補完したかが記録に残ります
- 12件ずつ並行して取得し、リクエストごとにタイムアウトを設定 — 1件が応答しなくても、 全体の処理は止まりません
結果
19,889件を41項目に整理しました。 このうち、総事業費の値が確認できたのは19,087件です。
セクター別では道路・高速道路が4,180件で最も多く、上下水道・廃棄物が2,264件、不動産が1,480件、 保健が1,271件、教育が954件、鉄道が920件と続きます。事業段階は、開発中・実施中・完了など 5種類に分かれます。
同じ方式のほかの事例はWebデータ収集でご覧いただけます。