利用Python抓取行政区划码的方法


前言

国家统计局网站上有相对比较齐的行政区划码,对于一些网站来说这是非常基础的数据,所以写了个Python程序将这部分数据抓取下来。

注意:抓取下来以后还要进行简单的人工的整理

示例代码:

# -*- coding:utf-8 -*-
'''
获取国家统计局上的行政区划码
'''
import requests,re
base_url = 'http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201504/t20150415_712722.html'
 
def get_xzqh():
 html_data = requests.get(base_url).content
 pattern = re.compile('<p class="MsoNormal" style=".*?"><span lang="EN-US" style=".*?">(d+)<span>.*?</span></span><span style=".*?">(.*?)</span></p>')
 areas = re.findall(pattern,html_data)
 print "code,name,level"
 for area in areas:
  print area[0],area[1].decode('utf-8').replace(u' ',''),area[1].decode('utf-8').count(u' ')
 
if __name__=='__main__':
 get_xzqh()

注意事项:

另外,关于国家地区表的信息,还有另外一种获取渠道,那就是QQ软件自带的国家地区信息表。(文件名为LocList.xml),一般的存储位置为:C:Program FilesTencentQQI18N2052

如需中文版安装中文版QQ即可获取,如需英文版则安装英文版QQ。国际版在1033目录。

code都是按照ISO3166标准写的,极易导入数据库。

总结

以上就是利用Python获取行政区划码的全部内容,希望本文的内容对大家学习或者使用python能有所帮助,如果有疑问大家可以留言交流。

Python中 Lambda表达式全面解析
什么是Lambda表达式Lambda表达式(lambdaexpression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambdaabstraction),是一个

浅析Python中yield关键词的作用与用法
前言为了理解yield是什么,首先要明白生成器(generator)是什么,在讲生成器之前先说说迭代器(iterator),当创建一个列表(list)时,你可以逐个的读取每一项

简单谈谈Python中的闭包
Python中的闭包前几天又有人留言,关于其中一个闭包和re.sub的使用不太清楚。我在积木网搜索了下,发现没有写过闭包相关的东西,所以决定总结一下