码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 中国大陆五级行政区划数据爬虫


    数据源:中华人民共和国国家统计局官方网站

    统计局数据特点描述

    1. 统计局每年10月31日更新一次数据。
    2. 统计局的数据分为省,市,区县、乡,街道、镇,村、居委会共五级。
    3. 省级编码为两位,其余均为12位。前六位编码规则与身份证相同,其余编码规则不明,欢迎知道的朋友补充。
    4. 村、居委会的城乡编码具体业务含义不清楚,欢迎知道的朋友补充。

    系统设计特点

    1. 完全按照统计局的数据编码规则,不做任何转换。

    2. 按照统计局页面命名,分别将数据编码为:

      级别省(区、直辖市)市区县、乡街道、镇村、居委会
      编码PROVINCECITYCOUNTYTOWNVILLAGE
    3. 提供json(children标识主子结构)和flatten(code,pCode标识主子关系)两种输出结构。

    4. 静态方法直接调用。

      // 获取json格式的数据,2021年的,到街道级别
      AreaReptileUtil.doCrawlJson("2021", AreaLevel.TOWN);
      // 获取flatten格式的数据,2021年的,到街道级别
      AreaReptileUtil.doCrawlFlat("2021", AreaLevel.TOWN);
    5. 轻量级,依赖仅有hutool(用于发http请求)和jsoup(用于解析html)。

    6. 提供debug模式(仅解析北京、天津、河北三省的详细数据)用于调试。 注意,该配置全局有效,默认为关闭状态

      1. AreaReptileUtil.setDebugMode(true);
      2. List<AreaNode> areaNode = AreaReptileUtil.doCrawlJson("2009", AreaLevel.COUNTY);
    7. 有下级数据的,会附带下级数据的对应页面。

    8. 输出结果为utf-8编码

    注意

    1. 统计局网站有防ddos攻击,所以没有采用并发http请求方式,抓取效率一般。(基础数据一年更新一次,慢点应该也可以忍,关键是快了人家就把咱封了)

    2. http请求失败会重试3次,抓取过程只能全部完成才算完成,中间有错误只能从头开始。

    3. 抓取级别调细之后,需要很长时间抓取,且需要占用大量内存,请按需抓取。

    4. 本程序没有考虑多线程并发调用过程中的线程安全问题。(基础数据一年更新一次,没必要并发触发吧)

    5. 样例数据位于项目的data-examples目录,目前提供如下的几个结果:

      • 2021年,json形式,区县级别的txt格式数据

      • 2021年,flatten形式,街道级别的csv格式数据

      • 2009年,json形式,区县级别的txt格式数据

        欢迎大家继续提供样例数据。互帮互助,节省宝贵时间。

    许可证

    hutool和本程序采用木兰公共许可证, 第2版

    jsoup采用MIT许可证

    对商业项目友好。

    其他

    数据不涉密,都是统计局网站上的公开数据。程序只是负责整理了一下。

    项目地址:https://github.com/zhiguangliu/area-reptile-from-stats-gov-cn

  • 相关阅读:
    PyQt5快速开发与实战 7.1 信号与槽介绍
    【SA8295P 源码分析 (二)】68 - Android 侧用户层 输入子系统获取 /dev/input/event0 节点数据 代码流程分析
    小红书商城整店商品API接口(店铺所有商品接口)
    罗克韦尔AB PLC 通过KEPServer实现与西门子1200PLC的以太网通信
    monaco-editor 行号、内容装饰器
    React+Typescript项目环境中搭建并使用redux环境
    RS485协议和Modbus协议有什么区别?工业网关能用吗?
    开始MySQL之路——MySQL三大日志(binlog、redo log和undo log)概述详解
    大数据学习(16)-mapreduce详解
    自定义权限指令与防止连点指令
  • 原文地址:https://blog.csdn.net/u013648515/article/details/126260650
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号