Files
area-china/README.md

112 lines
4.7 KiB
Markdown
Raw Normal View History

2019-05-07 14:32:07 +08:00
# area-china
2019-05-07 19:26:00 +08:00
2019-05-07 15:33:19 +08:00
* 这是一个基于Python语言编写的爬虫项目针对中国省市区以及镇乡共5级行政区域数据的获取并建库
2019-05-07 14:32:07 +08:00
* 数据来源于国家统计局的统计用区划代码和城乡划分代码,每一年都会统计并发布上一年的数据
2019-05-07 19:26:00 +08:00
* 默认已经获取了2018年的5级行政区域全量数据在项目的result目录里结果类型有导出的excel文件与mongo数据库备份文件
* 统计用区划代码和城乡划分代码的区划范围,是国家统计局开展统计调查的区划范围
* 数据不包括我国台湾省、香港特别行政区、澳门特别行政区
2019-05-07 14:32:07 +08:00
* 级别
* 一级:省、直辖市、自治区
* 二级:地级市
* 三级:市辖区、县(旗)、县级市、自治县(自治旗)、特区、林区
* 四级:镇、乡、民族乡、县辖区、街道
* 五级:村、居委会
* 本项目仅做学习用途
2019-05-07 19:26:00 +08:00
# 项目结构
area-china
- result (可用结果,《2018年统计用区划代码和城乡划分代码(截止2018年10月31日)》)
- excel (Excel结果文件,内容为JSON格式)
- mongo (MongoDB数据库结果文件,可采用命令进行数据恢复)
- mongorestore -h <hostname><:port> -d dbname <path>
- source (程序源码目录)
- 若需重新获取数据,运行该目录下的程序即可
# 数据结果统计
| 级别 | 数量 | 备注 |
| ------------- | ------------- | ------------- |
| 一级 | 31 | - |
| 二级 | 343 | - |
| 三级 | 3282 | - |
| 四级 | 43486 | - |
| 五级 | ****** | - |
# 数据库
* 采用MongoDB作为数据库服务程序运行后自动建立表简单方便快捷。
# 数据库表及字段说明
2019-05-07 15:21:07 +08:00
2019-05-07 19:26:00 +08:00
### 表 province (一级:省、直辖市、自治区)
2019-05-07 15:33:19 +08:00
| 字段名 | 字段含义 | 备注 |
| ------------- | ------------- | ------------- |
2019-05-07 19:26:00 +08:00
| id | 数据主键 | - |
2019-05-07 15:33:19 +08:00
| code | 统计汇总识别码-划分代码 | - |
| name | 省/直辖市/自治区名称 | - |
| url | 下级链接地址 | 搜索二级时需要 |
| searched | 是否搜索过下级链接地址 | 搜索二级时需要 |
2019-05-07 19:26:00 +08:00
### 表 city (二级:地级市)
| 字段名 | 字段含义 | 备注 |
| ------------- | ------------- | ------------- |
| id | 数据主键 | - |
| code | 统计汇总识别码-划分代码 | - |
| name | 地级市名称 | - |
| province_id | province表主键 | - |
| province_name | 省/直辖市/自治区名称 | - |
| url | 下级链接地址 | 搜索三级时需要 |
| searched | 是否搜索过下级链接地址 | 搜索三级时需要 |
### 表 county (三级:市辖区、县(旗)、县级市、自治县(自治旗)、特区、林区)
| 字段名 | 字段含义 | 备注 |
| ------------- | ------------- | ------------- |
| id | 数据主键 | - |
| code | 统计汇总识别码-划分代码 | - |
| name | 区县名称 | - |
| city_id | city表主键 | - |
| city_name | 地级市名称 | - |
| province_id | province表主键 | - |
| province_name | 省/直辖市/自治区名称 | - |
| url | 下级链接地址 | 搜索四级时需要 |
| searched | 是否搜索过下级链接地址 | 搜索四级时需要 |
### 表 town (四级:镇、乡、民族乡、县辖区、街道)
| 字段名 | 字段含义 | 备注 |
| ------------- | ------------- | ------------- |
| id | 数据主键 | - |
| code | 统计汇总识别码-划分代码 | - |
| name | 乡镇名称 | - |
| county_id | county表主键 | - |
| county_name | 区县名称 | - |
| city_id | city表主键 | - |
| city_name | 地级市名称 | - |
| province_id | province表主键 | - |
| province_name | 省/直辖市/自治区名称 | - |
| url | 下级链接地址 | 搜索五级时需要 |
| searched | 是否搜索过下级链接地址 | 搜索五级时需要 |
### 表 village (五级:村、居委会)
| 字段名 | 字段含义 | 备注 |
| ------------- | ------------- | ------------- |
| id | 数据主键 | - |
| code | 统计汇总识别码-划分代码 | - |
| code_type | 城乡分类代码 | - |
| name | 村居委会名称 | - |
| town_id | town表主键 | - |
| town_name | 乡镇名称 | - |
| county_id | county表主键 | - |
| county_name | 区县名称 | - |
| city_id | city表主键 | - |
| city_name | 地级市名称 | - |
| province_id | province表主键 | - |
| province_name | 省/直辖市/自治区名称 | - |
# 运行程序
* 依赖Python3环境以及MongoDB作为数据库服务
* 环境安装好后建议直接导入项目到PyCharm中运行
* 程序需按如下顺序依次运行:
1. source\area\china\city\ProvinceSpider.py
2. source\area\china\city\CitySpider.py
3. source\area\china\city\CountySpider.py
4. source\area\china\city\TownSpider.py (大概运行一个小时左右跑完)
2019-05-07 20:01:30 +08:00
5. source\area\china\city\VillageSpider.py (这个运行时间较长,晚上跑起第二天来看吧)