当前位置: 首页 > news >正文

根据[国家统计局最新行政区规划]数据库代码

根据国家统计局最新行政区规划获取省市区县镇村等数据库代码

Gitee源代码地址

   public static List<Area> fetchAndStoreAreaData() throws IOException {List<Area> areas = new ArrayList<>();// Step 1: 获取省级数据Document provinceDoc = Jsoup.connect(BASE_URL + "index.html").get();Elements provinces = provinceDoc.select(".provincetr a");for (Element province : provinces) {String provinceName = province.text();String provinceUrl = province.attr("href");// 直接提取URL中的省级代码,不做复杂的substring操作String provinceCode = provinceUrl.replace(".html", "");Area provinceArea = new Area();provinceArea.setCode(Long.valueOf(provinceCode));provinceArea.setName(provinceName);provinceArea.setLevel(1); // 省级provinceArea.setPcode(0L); // 省级无父节点,设为 0provinceArea.setPinyin(convertToPinyin(provinceName)); // 省级无父节点,设为 0areas.add(provinceArea);// Step 2: 获取市级数据Document cityDoc = Jsoup.connect(BASE_URL + provinceUrl).get();Elements cities = cityDoc.select(".citytr");for (Element city : cities) {Elements cityElements = city.select("a");if (cityElements.size() < 2) {continue; // 跳过异常数据}String cityCode = cityElements.get(0).text();String cityName = cityElements.get(1).text();String cityUrl = cityElements.get(0).attr("href");Area cityArea = new Area();cityArea.setCode(Long.valueOf(cityCode));cityArea.setName(cityName);cityArea.setLevel(2); // 市级cityArea.setPcode(Long.valueOf(provinceCode));cityArea.setPinyin(convertToPinyin(cityName)); /// 父级为省areas.add(cityArea);// Step 3: 获取区级数据,拼接URLString districtUrl = BASE_URL + cityUrl;try {Document districtDoc = Jsoup.connect(districtUrl).get();Elements districts = districtDoc.select(".countytr");for (Element district : districts) {Elements districtElements = district.select("a");if (districtElements.size() > 0) {String districtCode = districtElements.get(0).text();String districtName = districtElements.get(1).text();Area districtArea = new Area();districtArea.setCode(Long.valueOf(districtCode));districtArea.setName(districtName);districtArea.setLevel(3); // 区级districtArea.setPcode(Long.valueOf(cityCode));districtArea.setPinyin(convertToPinyin(districtName)); // 父级为市areas.add(districtArea);// Step 4: 获取镇级数据String townUrl = BASE_URL + districtElements.get(0).attr("href");// try {//     Document townDoc = Jsoup.connect(townUrl).get();//     Elements towns = townDoc.select(".towntr");////     for (Element town : towns) {//         String townCode = town.select("a").get(0).text();//         String townName = town.select("a").get(1).text();////         Area townArea = new Area();//         townArea.setCode(Long.valueOf(townCode));//         townArea.setName(townName);//         townArea.setLevel(4); // 镇级//         townArea.setPcode(Long.valueOf(districtCode));//         townArea.setPinyin(convertToPinyin(townName));//         areas.add(townArea);////         // Step 5: 获取村级数据//         String villageUrl = BASE_URL + town.select("a").get(0).attr("href");//         try {//             Document villageDoc = Jsoup.connect(villageUrl).get();//             Elements villages = villageDoc.select(".villagetr");////             for (Element village : villages) {//                 String villageCode = village.select("td").get(0).text();//                 String villageName = village.select("td").get(2).text();////                 Area villageArea = new Area();//                 villageArea.setCode(Long.valueOf(villageCode));//                 villageArea.setName(villageName);//                 villageArea.setLevel(5); // 村级//                 villageArea.setPcode(Long.valueOf(townCode));//                 villageArea.setPinyin(convertToPinyin(villageName));//                 areas.add(villageArea);//             }//         } catch (IOException e) {//             System.out.println("Error fetching village data: " + e.getMessage());//         }//     }// } catch (IOException e) {//     System.out.println("Error fetching town data: " + e.getMessage());// }}}} catch (IOException e) {}}}return areas;// 批量插入到数据库// areaMapper.insertBatchSomeColumn(areas);}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Redis】Redis 缓存设计:抗住百万并发量的最佳实践
  • oracle 11g写一个判断是否是身份证的函数,函数名称为:FUN_IS_IDENNO
  • C++二叉搜索树学习
  • MySQL篇(存储引擎)(持续更新迭代)
  • HTTP请求与响应相关知识点解读
  • Image matting入门
  • Android14请求动态申请存储权限
  • 双路创新深度学习!TCN-Transformer+LSTM多变量时间序列预测(Matlab)
  • 【学术会议:中国杭州,机器学习和计算机应用面临的新的挑战问题和研究方向】第五届机器学习与计算机应用国际学术会议(ICMLCA 2024)
  • go 读取excel
  • 04 面部表情识别:Pytorch实现表情识别-表情数据集训练代码
  • 数据结构 - 树与二叉树
  • 连不上服务器,超时
  • 2024 天池云原生编程挑战赛决赛名单出炉,冠军来自中山大学、昆仑数智战队
  • 数据中台建设方案汇报(可编辑的54页PPT)
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 【知识碎片】第三方登录弹窗效果
  • Apache的80端口被占用以及访问时报错403
  • Docker容器管理
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • v-if和v-for连用出现的问题
  • Vue UI框架库开发介绍
  • webpack+react项目初体验——记录我的webpack环境配置
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 如何设计一个比特币钱包服务
  • 三分钟教你同步 Visual Studio Code 设置
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​queue --- 一个同步的队列类​
  • #pragma once
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • (day6) 319. 灯泡开关
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (k8s)Kubernetes本地存储接入
  • (LLM) 很笨
  • (NSDate) 时间 (time )比较
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)h264中avc和flv数据的解析
  • (转)平衡树
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .NET C# 使用 iText 生成PDF
  • .NET CLR Hosting 简介
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .Net 应用中使用dot trace进行性能诊断
  • .NET(C#) Internals: as a developer, .net framework in my eyes