别再说没有数据分析练手的数据了,这个网站数据既全面又准确

别再说没有数据分析练手的数据了,这个网站数据既全面又准确

最近总有朋友在问我,数据分析和可视化展示已经入门了,想练手但没有数据怎么办?

不用怕!鸟哥今天给大家推荐1个存在大量数据的网站,并把详细教程写出来!

网站地址为:


<code>https://data.stats.gov.cn//<code>
别再说没有数据分析练手的数据了,这个网站数据既全面又准确

这里有你需要的各类数据,即全面又准确

下面以分省财政收入数据为例,教你用python爬取各省数据:

1.抓包获取数据接口

打开火狐浏览器抓包工具,按下图方式操作,可以获得数据接口:

别再说没有数据分析练手的数据了,这个网站数据既全面又准确

返回的数据中,有3个重点数据,'110000'为省市编码,每个省都有1个对应的编码,'2019'代表年份,data代表财政收入(亿元)

别再说没有数据分析练手的数据了,这个网站数据既全面又准确

将数据往下拉,还能看到省市和编码的

别再说没有数据分析练手的数据了,这个网站数据既全面又准确

先记住这些,后续编程要用到

2.python模拟数据请求

这一步很容易理解,但是正常requests模拟请求会出现以下错误:

别再说没有数据分析练手的数据了,这个网站数据既全面又准确

主要是因为网站不知道为什么会显示不安全链接,在浏览器测试如下:

别再说没有数据分析练手的数据了,这个网站数据既全面又准确

具体哪里不安全咱也不知道,解决办法是直接忽略验证就行,代码如下:

<code>import requests
import json
import re
import pandas as pd
url='https://data.stats.gov.cn/easyquery.htm?m=QueryData&dbcode=fsnd&rowcode=reg&colcode=sj&wds=%5B%7B%22wdcode%22%3A%22zb%22%2C%22valuecode%22%3A%22A080101%22%7D%5D&dfwds=%5B%7B%22wdcode%22%3A%22sj%22%2C%22valuecode%22%3A%22LAST20%22%7D%5D&k1=1601122489572'
headers={'User-Agent':'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0'}
response=requests.get(url, headers=headers, verify=False)
results=json.loads(response.text)
/<code>

3.整理数据为DataFrame格式

首先将省市名字和编码的对应关系存入字典中:

<code>cityTocodes={}
for i in results['returndata']['wdnodes'][1]['nodes']:
    cityTocodes[i['code']]=i['cname']
print(cityTocodes)
/<code>
别再说没有数据分析练手的数据了,这个网站数据既全面又准确

然后将数据存入二维列表中:

<code>codes=[] 

data = []
datas = []
for i in results['returndata']['datanodes']:
    pattern=re.compile(r'zb\\.A080101_reg\\.(\\d+)_sj\\.(\\d+)')
    code=re.findall(pattern, i['code'])[0][0]
    if code not in codes:
        codes.append(code)
        datas.append(data)
        data=[]
    data.append(i['data']['data'])
print(datas)
/<code>
别再说没有数据分析练手的数据了,这个网站数据既全面又准确

最后将数据转成DataFrame格式:

<code>years=list(range(2000,2020))[::-1]
datas.append(data)

citys=[cityTocodes[i] for i in codes]
city_datas=pd.DataFrame(datas[1:], columns=years, index=citys)
/<code>

4.将数据保存至表格

<code>city_datas.to_excel('全国各省财政收入.xlsx')
/<code>
别再说没有数据分析练手的数据了,这个网站数据既全面又准确

网站内其他数据也可按照此方法获取

-完-



完整代码请关注公众号【python数据分析之禅】并回复练手数据获取


分享到:


相關文章: