使用 Jsoup 解析國家統計局或民政部官網發布的行政區劃代碼頁面,提取省、市、縣、鄉鎮、村五級數據。核心步驟:獲取頁面 Document → 選擇表格行 (tr) → 解析單元格 (td) 文本與代碼 → 構建樹狀結構 → 序列化為 JSON 或存入資料庫。
Document doc = Jsoup.connect("https://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2023/")
.timeout(10000).get();
// 省級頁面鏈接
Elements provinceLinks = doc.select("tr.provincetr a");
for (Element a : provinceLinks) {
String provinceName = a.text();
String provinceUrl = a.absUrl("href");
// 遞歸解析市、縣、鎮、村...
}
注意:官網結構可能變動,需針對具體頁面調整選擇器。建議添加延時與重試機制,尊重 robots.txt。數據量較大時可使用 Jsoup 的 parse(InputStream, charset, baseUri) 流式處理離線 HTML 文件。最終數據可構建為 Map 支持級聯選擇器。