全国各省、市、县、镇、村的mysql数据库和JSON格式数据

直接开门见山了,放出下载地址先:

1、http://blog.jjonline.cn/soft/J_Position/ajing.sql.gz

phpmyadmin压缩导出的mysql库,库名:ajing,内有6个表,一个表不带后缀的是原始数据,每一行是一个村,从省至村;另外5个带后缀的表是相关联的,关联id为各自的行政编码,例如湖北省id为420(其实是42,数据库中省份编码均是3位数字,最后一个0是多余的),宜昌市id为4205(然后用8个0补齐就是420500000000),当阳市(我的家乡,县级市)为420582(然后用6个0补齐就是420582000000),以此类推。

大小: 17164601 字节(16.3M)

修改时间: 2014年7月16日, 13:02:02

MD5: A170D11E82A2532CE29574C46739B9CA

SHA1: 6D0FE378E2D6AB007E5F5977B4039E9E28DE5431

CRC32: 2AABF023

2、http://blog.jjonline.cn/soft/J_Position/ajing_position.7z

这个是phpmyadmin导出的sql文件,与第一个文件是一致的,然后使用360压缩软件压缩7z格式,原始sql文件170几兆太大了。

大小: 10363487 字节(9.88M)

修改时间: 2014年7月16日, 13:09:03

MD5: 2A3916A6617F7507FADB98E34341F59E

SHA1: 517F07DC7221BAE0DA5857BB77941E50388B4CE0

CRC32: C4FF8237

3、http://blog.jjonline.cn/soft/J_Position/j_position.7z

这个文件是第一个文件中提到的mysql库中的不带后缀的表。

大小: 6206567 字节(5.91M)

修改时间: 2014年7月15日, 23:08:57

MD5: EC7F7F500E7888FB36639FD76A598337

SHA1: E0EE991F7B2AE8B1EA96DDBF49BADF7B6434B853

CRC32: 75D1A75A

4、http://blog.jjonline.cn/soft/J_Position/positionJson.7z

这个文件是读取网页后产生的json格式的数据文件,分市(city)、县(county)、镇(town)以及村(village)分别保存的json后缀的文本文件,文本格式为json。每个省下的市县镇村均已该省代码明明,例如湖北省下的市为./positionJson/city/420.json、县为./positionJson/county/420.json、镇为./positionJson/town/420.json、村为./positionJson/village/420.json,以此类推。

这个json文件主要是为了各位自己去读取并按照自己的格式要求插入数据库的。

大小: 5384282 字节(5.13M)

修改时间: 2014年7月16日, 13:12:22

MD5: D862A925839F1358984607A63E79C701

SHA1: E47DD7C7BC2A815E15664D7529C7DC2268B8CB36

CRC32: EDB0B0AC

====

还记得两年前,那个时候对PHP还不甚了解,就是找本文所分享的东西,网上找到的数据要么非常老旧,要么不全;然后每个群里到处发消息找人要,当时的想法很简单,就是群里一定有做电商的程序猿,找他们拿一个全国省、市、县的统计数据相当的简单,结果等了一天没任何反应;要么是人家觉得太简单不理咱这个菜鸟,要么是大家各忙各的,压根就没时间去理会一条渺小的消息。

这个事情给我的触动非常大,网络上知识虽多,却也不乏错误、不全乃至老旧的问题,或一篇文章你抄我我抄你的这种情况;需求者往往要花费较多的时间去搜索、甄别;最可恶的是常常会看到一篇有错误或并不完善的文章被转来转去,搜索的关键词翻了几十页还能看到的情况......

嗯,貌似跑题了,还是回入正题。本文分享的省、市、县、镇、村的数据源为:http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2013/index.html 这个网址就不介绍了,这个数据源是目前最新、最全乃至最权威的数据源。

该数据源是html格式的,需要先爬html页面,然后按关联关系读出里面的数据,刚开始写的程序是边爬页面边读出数据,没考虑到需要读取的总html文件数高达4万多个,程序运行了12个小时候才发现有些数据爬漏了(数据源服务器偶尔犯浑返回404错误,而程序里没处理这种情况),发现这个问题后就改变了策略,先down下这个数据源里的所有页面数据,然后读本地的html数据生成json文件,down完后再写程序边读边检查,确保该数据源里的所有html页面均成功down到本地。down到本地并检查完整性,这个过程持续了16个小时,索性程序自动化进行,就是时间太长了点-------4万多个html页面,纵使一个html花费1秒,也需要4万多秒(十几个小时),还算正常,加之完整性检查16个小时还算可以吧!

(下载的所有html文件夹属性示意图)

接下来就是正则匹配各个页面(并处理各个页面的关联关系成mysql字段),产生了上述第四个文件夹中的所有json文件,然后读这些json文件插入到mysql中,最终产生了完整的省、市、县、镇、村的库,供其他应用调用。这个过程,产生json比较耗时,一个省(省、直辖市并列处理)平均需要30分钟,31一个省(以及直辖市)花了大半天;然后读json插入数据库,这个比较快,每1000条一个插入,2个多小时就搞定。

(读取json插入mysql时本地虚拟机内的centos资源情况)

有人问:“为什么不直接读html并处理后直接插入msyql,还要产生json后再读了插入?”其实这是为了其他程序猿调用方便而已,我这里的json实际上也可以被认为是一种数据存储的方式而已。

看本文第二种图,本地虚拟机内的小512M内存的centos内存已被吃光,swap也快耗尽。

时间: 2024-11-07 10:19:09

全国各省、市、县、镇、村的mysql数据库和JSON格式数据的相关文章

从MYSQL数据库查出指定格式的日期

1.用SQL语言控制: 格式如下: select DATE_FORMAT(t.startTime,"%Y-%m-%d %H:%i") AS startTime, DATE_FORMAT(t.endTime,"%Y-%m-%d %H:%i") AS endTime from table 输出格式为:YYYY-mm-dd HH:ss format字符串: %M 月名字(January--December) %W 星期名字(Sunday--Saturday) %D 有英语

Python将JSON格式数据转换为SQL语句以便导入MySQL数据库

前文中我们把网络爬虫爬取的数据保存为JSON格式,但为了能够更方便地处理数据,我们希望把这些数据导入到MySQL数据库中.phpMyadmin可以把MySQL数据库中的数据导出为JSON格式文件,但却不能把JSON格式文件导入到MySQL数据库.为了实现这个目标,可以编写Python脚本将JSON格式数据转换为SQL语句以便导入MySQL数据库. JSON文件tencent.json部分内容: {"recruitNumber": "1", "name&qu

ubuntu 下 mysql数据库的搭建 及 数据迁移

1.mysql的安装 我是使用apt-get直接安装的 :sudo apt-get install mysql-server sudo apt-get install mysql-client 2.配置mysql管理员密码 sudo mysqladmin -u root 当前密码 新密码 安装的时候貌似也没遇到什么障碍 3.查看mysql的状态 sudo netstat -tap | grep mysql 4.启动/停止/重启mysql sudo  /etc/init.d/mysql start

Bash中使用MySQL导入导出CSV格式数据[转]

转自: http://codingstandards.iteye.com/blog/604541 MySQL中导出CSV格式数据的SQL语句样本如下: select * from test_info into outfile '/tmp/test.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n'; MySQL中导入CSV格式数据的SQL语句

MySQL数据库如何解决大数据量存储问题

利用MySQL数据库如何解决大数据量存储问题? 各位高手您们好,我最近接手公司里一个比较棘手的问题,关于如何利用MySQL存储大数据量的问题,主要是数据库中的两张历史数据表,一张模拟量历史数据和一张开关量历史数据表,这两张表字段设计的很简单(OrderNo,Value,DataTime).基本上每张表每天可以增加几千万条数据,我想问如何存储数据才能不影响检索速度呢?需不需要换oracle数据库呢?因为我是数据库方面的新手,希望可以说的详细一点,万分感谢!!?-0-#暂时可以先考虑用infobri

MySQL数据库使用mysqldump导出数据详解

mysqldump是mysql用于转存储数据库的实用程序.它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等.接下来通过本文给大家介绍MySQL数据库使用mysqldump导出数据详解,需要的朋友一起学习吧 mysqldump是mysql用于转存储数据库的客户端程序.它主要产生一系列的SQL语句,可以封装到文件,该文件包含有所有重建您的数据库所 需要的 SQL命令如CREATE DATABASE,CREATE TABLE,INSERT等等.可

MySQL数据库实现主从同步数据

MySQL数据库实现主从同步数据 参考链接: http://www.cnblogs.com/wxf020412/archive/2007/09/25/905628.html http://369369.blog.51cto.com/319630/790921 1.说明 利用数据库本身的数据同步机制实现数据同步,还可以通过备份数据库目录实现,以及通过第三方同步工具实现. 2.准备好两台以上MySQL数据库 ①.最好版本一致 3.主数据库配置 ①. 打开mysql的配置文件(windows)my.i

MySQL学习笔记_13_Linux下C++/C连接MySQL数据库(三) --处理返回数据

 Linux下C++/C连接MySQL数据库(三) --处理返回数据 一.通过返回结果集中的字段数 [cpp] view plaincopyprint? unsigned int mysql_field_count(MYSQL * connection); //将MYSQL_ROW的值作为一个存储了一行数据的数组... unsigned int mysql_field_count(MYSQL * connection); //将MYSQL_ROW的值作为一个存储了一行数据的数组... 示例:

2015年1月最新中国行政区划县及以上代码mysql数据库

中华人民共和国国家统计局>> 行政区划代码>>mysql数据格式 截图如下 行政区划mysql数据库文件下载:nation.zip 转载:http://www.sdhack.com/20151530.html