[python]抓取2011年县及县以上行政区划代码

本文介绍了一种利用Python爬虫获取中国各行政区划代码的方法。通过解析政府网站上的HTML内容,使用正则表达式提取所需的区划代码及对应地区名称,并将结果整理成易于阅读的文本格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做GIS的有时候会需要用到各个行政区划的代码,最近有这个需求,就上网搜了一下,想说发挥下拿来主义,果然找到了Conanca的一篇帖子  里面附了python源码与结果,就拿来修改了一下,以下附上源码

如果需要结果或者源码,可以到github下载或者到我的资源下载结果

# -*- coding: gb2312 -*-
'''
@author Conanca
@mender jincheng
'''
import urllib2,re,os,sys
url_prefix = 'http://www.stats.gov.cn/tjbz/xzqhdm/'
xzqh_url = 't20021125_46784.htm'
print "开始查找"
content = urllib2.urlopen(url_prefix+xzqh_url).read()

code_rule = re.compile(r'<SPAN lang=EN-US style="FONT-SIZE: 12pt; LETTER-SPACING: 0pt">(.*?)</SPAN>')
'''110101      东城区'''
codes=re.findall(code_rule,content)
name_rule = re.compile(r'<SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; LETTER-SPACING: 0pt; mso-ascii-font-family: \'Times New Roman\'; mso-hansi-font-family: \'Times New Roman\'">(.*?)</SPAN>')        
names=re.findall(name_rule,content)
names.remove('名称')
i=0
string = ''
print len(names)
print len(codes)          
while i < len(names):    
    string=string+codes[i].split(' ')[0]+':'+names[i] + "\n"
    i+=1
print '拼凑结束,写文件'
fileWrite = open('bak.txt','w+')
fileWrite.writelines(string)
fileWrite.close()
print '写文件结束'
        
print "结束"
        

与Conanca的方法不同的是,在搜索内容的时候,我使用了正则的方法,name_rule与code_rule只适用于这一特例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值