一条命令搞定中国省市区街道 sql/json 数据:从克隆到入库指南
一条命令搞定中国省市区街道 sql/json 数据:从克隆到入库指南
【免费下载链接】china_regions最新最全省市区街道sql/json 文件项目地址: https://gitcode.com/gh_mirrors/chi/china_regions
china_regions 是一套覆盖中国省、市、区、街道四级行政区划的数据集,爬虫每日自动更新。如果你的系统要写四级联动下拉框或 MySQL 地区表,读完后你能自己跑一次爬虫,拿到最新的省市区街道数据,全程不用手工整理。
先认场景:什么时候需要这份四级数据
开发注册、收货地址、门店选址功能时,第一个需求往往就是"省/市/区/街道"的联动选择器;数据落库时则是一套现成的地区表。街道级数据手工整理不现实——行政区划还在逐年调整,这份数据连港澳台、钓鱼岛相关区域都收录了。
🚀 最快捷径:两条命令跑通爬虫
先克隆仓库并进入目录:
git clone https://gitcode.com/gh_mirrors/chi/china_regions cd china_regions爬虫有 golang 和 php 两套实现,任选其一。golang 版约 30 秒出结果:
GO111MODULE=off go run spider/go/main.gophp 版功能相同,只是慢一些,约 180 秒:
php spider/php/index.php跑完后,最新的全量 json 和 sql 文件直接落在当前目录,不用改任何配置。
🗄️ MySQL 怎么导入:先 init.sql 再四张数据表
导入顺序有讲究:先执行sql/init.sql建表,它一次建好 province、city、area、street 四张表,后三张表都带 pid 字段指向上一级 id,级联关系表结构里就写好了。再依次导入 province.sql、city.sql、area.sql、street.sql 四个数据文件即可。
如果导入时报错,多半是字符集问题,用下面这种方式重试:
mysql -uroot -p --default-character-set=utf8 库名 < sql/province.sql📦 四个 json 文件:结构不同,用法跟着变
json/province.json:扁平数组,[{id, name}],直接铺到第一级下拉。json/city.json:按省份 id 分组,键是省 id,值是该省的城市数组。json/area.json:同样的分组结构,键换成城市 id。json/street.json:键是区县 id,值是街道数组。
前端做联动时拿第一级查第一份文件,后续每一级都用上一级的 id 当键去对应文件里查,不需要中间加工层。
关键文件速查
| 路径 | 作用 |
|---|---|
| json/ | 四级数据的 JSON 版,给前端联动用 |
| sql/init.sql | 建四张表(province/city/area/street) |
| sql/*.sql | 四级数据对应的 INSERT 语句 |
| spider/go/ | golang 版爬虫,入口 main.go |
| spider/php/ | php 版爬虫,入口 index.php |
| docs/ | 联动效果的前端演示文件,看效果用 |
🔧 进阶:想改数据或换分支去哪改
- 想让数据变新:重新执行
spider/go/main.go或spider/php/index.php,结果自动覆盖生成。 - 想调抓取逻辑或输出目录:核心代码在
spider/go/core/和spider/php/Region.class.php。 - 分支选择:
master是四级联动,数据来源于京东网页版;level5多一级社区但数据较旧,按需取用。
一句话收尾:克隆仓库、跑一次爬虫,最新的省市区街道 sql/json 数据就全在你手里了。更新记录与更多细节见仓库根目录的README.md。
【免费下载链接】china_regions最新最全省市区街道sql/json 文件项目地址: https://gitcode.com/gh_mirrors/chi/china_regions
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
