通過Python爬取國家統計局省市區三級地址庫(支援MySQL和JSON格式)

gxcuizy發表於2018-08-27

通過Python爬取國家統計局省市區三級地址庫(支援MySQL和JSON格式)

資料來源

通過Python指令碼,自動抓取國家統計局最新的中國省市區三級城市資訊,目前抓取的最新資料為2017年統計用區劃程式碼和城鄉劃分程式碼(截止2017年10月31日),我會關注,時刻保持更新。

資料格式

目前支援MySQL格式和JSON格式,其中MySQL的有兩個版本,分別為三張表和一張表的,即三張表的為省市區三張表,而一張表的則把省市區三級城市通過關聯關係都存在一張表中,可以根據自己的需求進行選擇,如果有其他格式需求,可以聯絡我或者自己修改指令碼。

指令碼目錄結構

├── json/                    # 儲存JSON資料格式
├── mysql/                   # 儲存三張表的資料格式
├── mysql_v2/                # 儲存一張表的資料格式
├── city_to_json.py          # 抓取JSON資料格式的指令碼
├── city_mysql.py            # 抓取三張表的資料格式的指令碼
├── city_to_mysql_v2.py      # 抓取一張表的資料格式的考平貝母
├── mysql_init.sql           # 儲存三張表的資料的表結構
├── mysql_v2_init            # 儲存一張表的資料的表結構複製程式碼

如有需要,直接下載字尾為json或者sql的檔案即可直接使用,也可以根據對應的python指令碼重新生成相應的省市區三級地址庫資料。

抓取資料方法

這裡主要使用requestsbeautifulsoup4以及json這三個模組,通過requests傳送url頁面請求,然後BeautifulSoup分析請求到的頁面資訊,抓取有效資料,通過json模組,讀取以及儲存json格式的資料,而mysql的資料則直接通過檔案的讀寫操作即可。

原始碼分享

這個爬蟲指令碼比較易讀,而且礙於文章篇幅問題,所以,我這裡就不貼原始碼了,直接放到交友網站GitHub上了,有興趣的可以前往檢視。

原始碼以及資料地址:github.com/gxcuizy/Pyt…


相關文章