Giter Site home page Giter Site logo

shenxiuqiang / china_regions Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wecatch/china_regions

0.0 1.0 0.0 45.4 MB

最全最新**省,市,地区json及sql数据

Home Page: http://wecatch.me/china_regions/

License: Apache License 2.0

JavaScript 99.91% HTML 0.03% Shell 0.01% Python 0.05% Makefile 0.01% TSQL 0.01%

china_regions's Introduction

china_regions

最全最新**省,市,地区 json 及 sql 数据,自动抓取国标 http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/ 数据,并且自动生成 JavaScript es6 module 以及 sql 数据。

最新国标行政区规划最低到居委会这一级别了,行政区代码代码也变长了,不包含港澳台信息,按需所需不同的版本,见 https://github.com/wecatch/china_regions/releases

演示地址

http://wecatch.me/china_regions/

如何使用

数据分 json、es6 module、sql 三种格式存储,es6 module 和 sql 是根据 json 自动生成,json 数据又是根据最新国标生成,

├── js              # js module 格式
├── json            # json 格式
├── mysql           # mysql sql 格式

直接拷贝 json 和 es6 文件可直接使用,也可以根据对应的语言生成不同的模块。

Village 数据文件特别大,默认不包含在仓库中,可以 clone 仓库,在 src 中解压 village 的压缩文件,然后执行 python makedata.py

如何更新到最新国标

仓库中的现在的数据是根据最新国标生成,如果在使用中发现国标有变动,可以手动进行更新,需要有 node8 或更高环境:

  1. git clone 本仓库
  2. yarn install 或者 npm install
  3. 移除 src 目录下的 json 文件:
    ├── city.json
    ├── country.json
    ├── province.json
    ├── source.json
    ├── town.json
    └── village.json
  1. 打开 main.js 文件,取消对 main 函数执行的注释,开始执行 node main.js,一般情况下可以顺利爬取到 province、 city、country 的信息
  2. 利用已经爬取的 province、city、country 开始同步其他行政区域的信息,注释掉 main 函数根据需要分别打开 pullTownDataSync、pullVillageDataSync 爬取其他行政区域的信息,注释事项见函数注释
  3. 最后执行 python makedata.py 生成各种格式文件

注意事项

根据 town 爬取的 village 数据非常大,默认情况下不会自动生成 village 的信息,可以根据自己的需要 clone 仓库之后自己生成

行政级别顺序是:province-> city --> country --> town --> village,对应的是:省->市(市辖区)->县(区、市)->镇(街道)->村(居委会)

爬取 village 时由于数据量特别大会导致 nodejs 出现内存泄漏的情况,所以每次增量更新文件时会自动进行文件备份,生成 src/village_backup.json 备份文件不进仓库,最后再手动干预偏移量

village 的数据文件是压缩过的解压执行 tar xvfz village.tar.gz .

默认情况下不生成 village 这个级别的数据,如果需要请执行 makedata.py

反馈

如果国标页面 html 结构发生变化,请提 issue。

更新记录

2019.4.17

fix #17 针对东莞市 中山市 儋州市三个不设区的市单独处理, 这三个市没有区,直接到镇 town,镇的上一级就是市,开发者可以根据自己的情况特殊处理,详见 src/special_city.json,SQL 数据包含在 town.sql 中

2019.4.9

2019.3.10

  • 更新数据生成的方式
  • 校验数据生成是否准确 cat src/village.json | grep id | wc -l == wc -l mysql/village.sql

2019.2.11

  • 更新数据抓取方式,使用 nodejs 抓取
  • 更新数据到最新的 2018 国标
  • 移除对 sqlite 以及 postgresql 的

china_regions's People

Contributors

dependabot[bot] avatar jayl1n avatar mofelee avatar zhyq0826 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.