DE Day 18 公開資料實戰:政府開放資料平台 執行需求:CPU 可跑 。今天進入採集篇的第三篇,把 Day 17 的禮貌爬蟲套件接到「中華民國政府資料開放平臺」( data.gov.tw )的真實目錄。這個平臺收錄了上萬個政府機關產出的開放資料集,依「政府資料開放授權條款第 1 版」釋出。我們會用一支可重現的腳本,把「找資料 → 看 metadata → 確認授權 → 下載 CSV/JSON → 落進 DuckDB」的完整流程做出來。版本基準仍是 2025 年 11 月:Python 3.13、httpx 0.28、DuckDB 1.4、Polars 1.33。 引言 Day 15 與 Day 16 給了爬蟲與動態瀏覽器兩個工具,Day 17 加上了禮貌與工程紀律。今天把它們用在「真實世界的公開資料」上:政府資料開放平臺。這個平臺由國家發展委員會管理,從 2012 年推動至今已累積上萬個資料集,涵蓋交通、氣象、財稅、戶政、警政、統計、環境等領域。對資料工程師來說,這是「真實、可商用、有版本」的來源,比 Kaggle 的練習資料更具實務價值。 今天的目標很具體:用一份可重現的 Python 腳本,去平臺找一份「每日會更新」的資料集(例如空氣品質監測、即時雨量、停水公告),把它每日拉到本地、落地成 Parquet、寫進 DuckDB,並用一段 SQL 確認資料完整性。我們也會談到一個資料工程師必修的倫理議題:「政府資料開放授權條款第 1 版」允許你做什麼、不允許你做什麼、與個資法的界線在哪裡。這不是法律諮詢,但至少把幾個常見誤解講清楚。 在動手前,先說明一個重要前提:本系列的所有範例都「不鎖定單一資料集」。原因是政府平臺的資料集 ID、欄位名稱、檔案 URL 都可能改版,鎖定特定 ID 會讓範例在某天突然失效。所以今天我們教的是「方法」:用平臺的搜尋 API 或瀏覽器查詢頁,找到資料集描述,讀 metadata,確認授權,最後用通用方法下載。你讀完之後可以把方法套到任何資料集。 政府資料開放平臺的結構與授權 先認識平臺的結構。 data.gov.tw 主要由四個部分組成:首頁的搜尋、目錄頁、資料集頁、檔案下載頁。「資料集(dataset)」是多個檔案的集合,例如「空氣品質監測資料」就包含每月、每日、每小時三種檔案。「檔案(resour...