python获取2020年国家统计局省市县三级数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python获取2020年国家统计局省市县三级数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1972字,纯文字阅读大概需要3分钟。
内容图文
![python获取2020年国家统计局省市县三级数据](/upload/InfoBanner/zyjiaocheng/615/7ddf231a58f241188e6d6f8a1b77f21c.jpg)
python获取2020年国家统计局省市县三级数据
一、数据来源
国家统计局2020年最新的数据
二、获取思路
寻找url的规律
所有省份页面:
http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2020/index.html
城市页面:
http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2020/11.html
失去页面:
http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2020/11/1101.html
总结url具有鲜明的层次性,年份2020,城市11,区01
因而迭代获取相关url标签
省级:
市级
区级
三、完整代码
下面展示一些 `内联代码片`。
import sys,os,re,requests
from lxml import etree
from crawler_tools.user_agent import user_agent as u
class Citys():
def __init__(self):
self.url = "http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2020/"
self.file = os.path.dirname(__file__)
def get_url(self):
header = {
'Cookie': 'SF_cookie_1=72991020',
'User-Agent': u.user_agent()["User-Agent"]}
r1 = requests.get(self.url,headers=header)
r1.encoding = r1.apparent_encoding
return r1.text
def xpath_parse(self):
#省
lxml = etree.HTML(self.get_url())
provinces = lxml.xpath("//tr/td/a/text()")
#市
citys = lxml.xpath("//tr/td/a/@href")
for n,i in enumerate(citys):
url = 'http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2020/'+i
print("市:",url)
r2 = requests.get(url,headers=u.user_agent())
r2.encoding = r2.apparent_encoding
countys = etree.HTML(r2.text).xpath("//tr/td[2]/a//text()")
#print(xpath)
#县
countys_href = etree.HTML(r2.text).xpath("//tr/td[2]/a/@href")
#print(countys)
for ns,county in enumerate(countys_href):
url = 'http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2020/'+county
print("县:",url)
r3 = requests.get(url, headers=u.user_agent())
r3.encoding = r3.apparent_encoding
zones = etree.HTML(r3.text).xpath("//tr/td[2]/a//text()")
for zone in zones:
yield provinces[n]+","+countys[ns]+","+zone
def download(self):
for i in self.xpath_parse():
with open(self.file+"\provinces_city_zone.txt","a+",encoding="utf-8")as f:
f.write(i+"\n")
Citys().download()
四、成果
四、获取地址
直接获取省市县三层次数据: Github.
内容总结
以上是互联网集市为您收集整理的python获取2020年国家统计局省市县三级数据全部内容,希望文章能够帮你解决python获取2020年国家统计局省市县三级数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。