把警政署每天公告的失物做成能查的地圖:品名藏在一句公文裡、地點只有文字
掉了東西,第一個念頭是「會不會有人撿到、送去哪裡了」。警政署其實每天都把撿到的失物公告出來,也開放下載,只是它散在 34 個受理機關、只有純文字,連「撿到什麼」都要從一句公文裡挑出來。這篇把做成查詢工具的過程寫下來。
2026-09-09 作者 William Hsu

資料是公開的,只是沒人整理
警政署在政府資料開放平臺上放了「警察機關失物招領網路公告數位批次檔案」(dataset 7317),一支 CSV,免金鑰直接下載,大約九萬筆,滾動保留最近六個月,採政府資料開放授權,可以商業利用。
它涵蓋的不只 22 個縣市警局,還有專業警察機關:
- 航空警察局(桃園機場等)——占了四成上下,機場撿到的東西特別多
- 鐵路警察、國道公路警察、港務警察
- 合計 34 個受理機關
資料雖然公開,一般人要查自己掉的東西幾乎不可能——它分散、只有文字、又沒有一個好用的入口。把這 34 個機關、六個月、九萬筆合進同一個搜尋框,再標到地圖上,就是這個工具在做的事。
「撿到什麼」不是一個欄位
你會以為有一欄叫「物品名稱」,其實沒有。撿到什麼是包在一句公文裡的:
「拾得人拾獲:黑色皮夾一個、內有現金若干,請失主於公告期間六個月內攜帶本人印章及身分證件前來認領。」
真正有用的只有「拾得人拾獲:」和「,請失主」中間那一段。我用一條規則把它取出來,九萬筆裡 99.3% 取得乾淨,剩下不到 1% 是格式不照牌理的(例如整批清冊、句子被截斷),這些另外歸成一類,不硬猜。
取出來之後才談得上搜尋。你打「錢包」「悠遊卡」「手機」,比對的是這段物品名稱,不是整句公文。
地點只有文字,沒有座標
失物公告只有「拾得地點」文字,沒有經緯度。九萬筆裡:
- 拾得地點欄沒有一筆是空的
- 大約 53% 含路名,可以定位到街廓
- 其餘只到「某某派出所」「某某站」這種範圍
我接上另一份開放資料——各縣市的門牌坐標——在本機離線比對,把有路名的地址換成座標,最後大約 95% 的紀錄畫得上地圖。定位不到縣市的,用受理警局名稱回推(航警局歸桃園、鐵路警察某分局歸該站所在地)。
地圖只畫點,不畫範圍圈。資料只有一個地點、沒有範圍,硬畫一個固定半徑的圈就是在假裝精確。這跟我做淹水、露營場工具時一樣:資料沒有的東西,畫面上就不要假裝有。
個資:來源已經遮罩,我們不還原
有 480 筆公告內容帶了遮罩過的姓名(像「張○菱」)。這是來源本來就去識別過的,我照原樣顯示,不還原、也不去交叉比對。整份資料沒有失主的任何聯絡方式——認領本來就得帶證件親自到受理單位,這點照實寫在資料頁。
為什麼不接官方的查詢網站
警政署自己有查詢網站,但那條路走不通:查詢要三個必填欄位(等於你要先知道答案才查得到),2025 年 7 月起還加了圖形驗證碼。這種設計不是給程式接的。所以我完全不碰網頁版,只用它每天輸出的那份 CSV——這本來就是開放資料的意義:官方把整包倒出來,怎麼呈現讓大家自己做。
有些來源,能抓不代表該抓
我查過能不能把其他交通場站的失物也收進來:北捷、中捷、高捷、桃捷、桃機、國道服務區都有沒有驗證碼的公開介面,可以收。
但也有絕對不碰的。高鐵的失物前端雖然直接吐一大包 JSON、很好抓,它的條款卻白紙黑字禁止重製散布;某百貨的隱私政策更是逐字禁止爬蟲與 AI 代理人。這種就算技術上抓得到,也不做。能不能抓,跟該不該抓,是兩件事。
上線之後:同一份資料底下,其實有兩個檔
這一段我一開始判斷錯了,照實寫。
某天發現網站上最新的失物停在 9 月 3 日,之後幾天都沒有新的。我第一個念頭是「警政署那邊暫停更新了」——政府資料晚個幾天很常見,我還去查了官方有沒有公告,沒有。
後來才知道不是這樣。data.gov.tw 這個資料集底下,其實掛了不只一個下載檔,兩個格式一模一樣:我們原本固定在抓的那一個,停在 9/3 沒再動;同一個資料集底下的另一個,卻好端端更新到當天。
我們的更新程式有個保護:發現「最新日期」沒往前推,就不拿這批可能殘缺的資料去蓋掉現有的。所以網站沒壞、也沒顯示錯的東西,只是停在 9/3。保護做對了,但它保護的是一份被我們自己抓錯來源的資料。
知道原因後,我沒有只是把網址換成另一個檔就算了——誰知道哪天換那個檔停掉。改成讓程式每次都去問 data.gov.tw:這個資料集現在有哪些檔?全部抓下來,比對日期,自動用最新的那一份。以後不管它換代號、停掉某一份、還是多開一份,都會自動切到最新,不會再默默停住。
順手也擋掉一個小狀況:資料裡偶爾有假日期,像 211360621530(民國 2113 年 60 月)。如果單純比大小,這種假未來日期會被當成「最新」,所以挑之前先做日期驗證,把它濾掉。
刻意不做的
- 不做失物通報:這是查詢工具,不是登記自己掉了什麼的平台。撿到東西請送派出所,那是法律程序。
- 不猜品名:取不出乾淨名稱的就標成整批清冊,不硬塞。
- 不畫範圍圈:只有一個點就只畫一個點。
說清楚它做不到的
- 這不是即時資料。要確認某件東西此刻在不在,還是以受理單位為準。
- 只保留最近六個月,更早的會跟著官方滾出去。
- 沒有照片,只有文字品名和地點,所以搜尋靠的是你記得的關鍵字和大概位置。
- 認領一定要本人帶證件到受理單位,網站只幫你找到它在哪。
工具本身在 lazetool.com/lost-found。