提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
国家统计局2021行政规划提供国内31个省(自治区、直辖市)地址统计信息,我自己使用代码提取全部数据。划分为省、市、区、街道五级数据,相比之前的省市区街道,多了一级,数据更加权威。
提示:以下是本篇文章正文内容,下面案例可供参考
一、逐级拉取
省级数据就是连接中的所有省份数据,在表中添加一条记录就可以自动拉取。http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2021/
INSERT INTO `synchronize_data_task` VALUES ('1', 'http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2021/', '', null, '1', '1', '1', '2022-06-27 23:34:10', '2022-06-30 03:11:27');
二、调用数据同步接口
1.直接调用循环调取
2.对应表结构
代码如下(示例):
CREATE TABLE `adi_area` (
`code` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '编码',
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '名字',
`superior_code` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '上级编码',
PRIMARY KEY (`code`),
KEY `adi_province_index_superior_code` (`superior_code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='区(县、地级市)级基础信息';
CREATE TABLE `adi_city` (
`code` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '编码',
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '名字',
`superior_code` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '上级编码',
PRIMARY KEY (`code`),
KEY `adi_province_index_superior_code` (`superior_code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='市级城市基础信息';
CREATE TABLE `adi_province` (
`code` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '编码',
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '名字',
`superior_code` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '上级编码',
PRIMARY KEY (`code`),
KEY `adi_province_index_superior_code` (`superior_code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='省(直辖市、自治区)级基础信息';
CREATE TABLE `adi_street` (
`code` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '编码',
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '名字',
`superior_code` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '上级编码',
PRIMARY KEY (`code`),
KEY `adi_province_index_superior_code` (`superior_code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='街道(乡镇)基础信息';
CREATE TABLE `adi_village` (
`code` varchar(20) NOT NULL COMMENT '编码',
`name` varchar(50) NOT NULL COMMENT '名字',
`superior_code` varchar(20) NOT NULL COMMENT '上级编码',
PRIMARY KEY (`code`),
KEY `adi_province_index_superior_code` (`superior_code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='居委会(村)基础信息';
CREATE TABLE `synchronize_data_task` (
`id` bigint NOT NULL AUTO_INCREMENT,
`url_prefix` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '前缀',
`url` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`url_expand` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '扩展url',
`state` tinyint DEFAULT NULL COMMENT '1待执行 2已执行',
`type` tinyint DEFAULT NULL COMMENT '1国家2省3市4区5街道6居委',
`code` varchar(20) DEFAULT NULL COMMENT '本级别code',
`create_time` datetime DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `synchronize_data_task_index_type` (`type`) USING BTREE,
KEY `synchronize_data_task_index_state` (`state`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=127769 DEFAULT CHARSET=utf8 COMMENT='同步数据记录表';
总结
代码地址
https://gitee.com/zhang798/javaDemo
git clone https://gitee.com/zhang798/javaDemo.git -b adi
已经跑完数据地址。下载地址