在好例子网,分享、交流、成长!
您当前所在位置:首页Python 开发实例Python网络编程 → 用python爬取国家统计局官方全国行政区划数据库

用python爬取国家统计局官方全国行政区划数据库

Python网络编程

下载此实例
  • 开发语言:Python
  • 实例大小:4.23KB
  • 下载次数:35
  • 浏览次数:545
  • 发布时间:2021-06-17
  • 实例类别:Python网络编程
  • 发 布 人:hui717
  • 文件格式:.py
  • 所需积分:2

实例介绍

【实例简介】

     用python爬取国家统计局官方全国行政区划数据库

【实例截图】

    from clipboardfrom clipboard

【核心代码】

   
def getChun(x,shengid,shiid):
    try:
        response=requests.get("http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2020/" shengid "/" shiid "/" x,headers=headers)
        response.encoding='ANSI'
        html=etree.HTML(response.text)        
        html_data=html.xpath('//table[@class="villagetable"]/tr[@class="villagetr"]')
        chun=[]
        for i in html_data:    
            chun.append([i.xpath('./td[1]/text()'),i.xpath('./td[2]/text()'),i.xpath('./td[3]/text()')])
        return(chun)
    except Exception as e:
        print(str(e))
        getChun(x,shengid,shiid)
#sheng=GetSheng()
file=open("diqu.txt","a ",encoding='ANSI')
#sheng=[['吉林省','22.html'],['黑龙江省','23.html']]
#sheng=[['山东省','37.html'],['河南省','41.html']]
#sheng=[['湖北省','42.html'],['湖南省','43.html'],['广东省','44.html'],['广西壮族自治区','45.html'],['海南省','46.html'],['重庆市','50.html'],['四川省','51.html'],['贵州省','52.html']]
sheng=[['云南省','53.html'],['西藏自治区','54.html'],['陕西省','61.html'],['甘肃省','62.html'],['青海省','63.html'],['宁夏回族自治区','64.html'],['新疆维吾尔自治区','65.html']]
try:
    for i in sheng:
        _shi =GetShi(i[1])
        for m in _shi:
            _xian=GetXian(m[2][0])
            for n in _xian:
                if (len(n) <3 or len(n[2]) == 0):
                    pass
                else:
                    _zhen=GetZhen(n[2][0],str(i[1])[0:2])
                    for z in _zhen:
                        _chun=getChun(z[2][0],str(i[1])[0:2],str.strip(str(m[0]))[4:6])
                        if _chun != None:
                            for t in _chun:     
                                aa=str(i[1])[0:2] "^" str(i[0]) "^" str(m[0][0]) "^" str(m[1][0]) "^" str(n[0][0]) "^" str(n[1][0]) "^" str(z[0][0]) "^" str(z[1][0]) "^" str(t[0][0]) "^" t[2][0] "^" str(t[1][0])
                                print(aa)
                                aa ='\x0A'
                                file.write(aa)
finally:
    file.close()


              



'''
print(GetSheng())
print(GetShi('51'))
'''
#print(GetXian('51/5113.html'))

实例下载地址

用python爬取国家统计局官方全国行政区划数据库

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警