Giter Site home page Giter Site logo

tyssbb / areacity-jsspider-statsgov Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xiangyuecn/areacity-jsspider-statsgov

0.0 1.0 0.0 6.07 MB

国家统计局中的省市区镇数据带拼音标注,在浏览器里面运行js代码采集的2019年发布的最新数据

License: MIT License

Python 6.40% JavaScript 93.60%

areacity-jsspider-statsgov's Introduction

省市区数据采集并标注拼音

当前最新版为2019文件夹内的2018版数据,此数据发布于2019-01-31

可直接打开采集到的数据文件夹内的ok_data_level4.csv来使用,level4是省市区镇4级数据,level3是省市区3级数据。另外不需要的数据可以简单的用Excel筛选后直接删除。csv格式非常方便解析或导入数据库。

采集环境

chrome 控制台,41.0.2272.118这版本蛮好,新版本乱码、SwitchyOmega代理没有效果、各种问题(简单制作chrome便携版实现多版本共存

数据源

国家统计局 > 统计数据 > 统计标准 > 统计用区划和城乡划分代码

采集深度

  • 2019文件夹采集了4层,省、市、区、镇,2018版数据
  • 2018文件夹采集了3层,省、市、区,2017版数据
  • 2017文件夹采集了3层,省、市、区,2016版数据
  • 2013文件夹采集了4层,省、市、区、镇,2013版数据

拼音标注

拼音源

省市区这三级采用在线拼音工具转换,据说依据《新华字典》、《现代汉语词典》等规范性辞书校对,多音字地名大部分能正确拼音,重庆->chong qing朝阳->chao yang郫都->pi du闵行->min hang康巴什->kang ba shi

镇级以下地名采用本地拼音库转换,准确度没有省市区的高。

拼音前缀

从完整拼音中提取的拼音前缀,取的是第一个字前两个字母和后两个字首字母,意图是让第一个字相同名称的尽量能排序在一起。排序1:黑龙江helj、湖北hub、湖南hun;排序2:湖北hb、黑龙江hlj、湖南hn,排序一胜出。

数据问题

  1. id编号和国家统计局的编号基本一致,方便以后更新,有很多网站接口数据中城市编号是和这个基本是一致的。

  2. id重复项目前是没有(已优化过了),不过以前采集(2013版)后直接对统计局的编号进行简单缩短后会有重复现象(算是精度丢失)。

  3. 地区名字是直接去掉常见的后缀进行精简的,如直接清除结尾的市|区|县|街道办事处|XX族自治X,数量较少并且移除会导致部分名字产生歧义的后缀并未精简。

  4. 2017版开始数据结尾添加了自定义编号的港澳台、海外数据。

使用js自行采集

在低版本chrome控制台内运行1、2、3打头的文件即可完成采集,前提是指定网页打开的控制台。这三个文件按顺序执行。

最新采集代码内对拼音转换的接口变化蛮大,由于优秀的那个公网接口采取了IP限制措施,就算使用了全自动的切换代理,全量转换还是极为缓慢,因此采用了本地转换接口和公网转换接口结合的办法,省市区三级采用公网接口,其他的采用本地接口。公网接口转换的正确度极高,本地的略差那么一点。

步骤1

  1. 打开国家统计局任页面 http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/。
  2. 控制台内粘贴1_抓取国家统计局城市信息.js代码执行。
  3. 采集完成自动弹出下载,保存得到文件data.txt

步骤2

  1. 打开拼音接口页面,具体看2_抓取拼音.js开头注释。
  2. 复制data.txt内容到控制台执行,数据完成导入。
  3. 执行2_抓取拼音.js内代码。
  4. 拼音采集完成自动弹出下载,保存得到文件data-pinyin.txt

注:如果是2_x_抓取拼音.js,依次同样的运行。

步骤3

  1. 任意页面,最好是第二步这个页面。
  2. 复制data-pinyin.txt内容到控制台执行,数据完成导入。
  3. 执行3_格式化.js内代码。
  4. 格式化完成自动弹出下载,保存得到最终文件ok_data.csv

⭐捐赠

如果这个库有帮助到您,请 Star 一下。

你也可以选择使用支付宝给我捐赠:

areacity-jsspider-statsgov's People

Contributors

xiangyuecn 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.