import requests
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
import warnings
import json
import time
import numpy as np
def main():
baseurl = "https://data.stats.gov.cn/easyquery.htm?cn=E0103"
warnings.filterwarnings('ignore')
data_list, name_list = get_data(baseurl)
df = get_list(data_list, name_list)
draw(df)
def get_data(baseurl): #解析爬取的网站数据
data_list = []
name_list = []
js = ask_url(baseurl)
for value in js['returndata']['datanodes']:
data_list.append(value['data']['strdata'])
list_0 = js['returndata']['wdnodes'][1]['nodes']
for i in range(len(list_0)):
name_list.append(list_0[i]['cname'])
return data_list, name_list
def get_list(data_list, name_list): #将解析后的数据储存在xlsx文件里
eval_list=[]
for i in data_list:
eval_list.append(float(i))
array_data = np.array(eval_list).reshape(31, 10)
df = pd.DataFrame(array_data, index=[name_list], columns=['2020', '2019', '2018', '2017', '2016','2015', '2014',
'2013', '2012', '2011'])
df.to_excel('2011年-2020年各省份GDP.xlsx')
return df
def getTime(): #时间戳
return int(round(time.time() * 1000))
def ask_url(url): #爬取国家数据网站
while True:
try:
head = {
"User-Agent": "Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko)"
" Chrome / 96.0.4664.110Safari / 537.36"
} # 用户代理,模拟浏览器访问网站服务器
key = {'m': 'QueryData', 'dbcode': 'fsnd', 'rowcode': 'reg', 'colcode': 'sj',
'wds': '[{"wdcode":"zb","valuecode":"A020101"}]', 'dfwds': '[{"wdcode":"sj","valuecode": "LAST10"}]',
'k1': str(getTime())
}
html = requests.get(url, headers=head, verify=False, params=key)
js = json.loads(html.text)
break
except:
time.sleep(2)
print("服务器繁忙")
return js
def draw(df): #运用matplotlib 画图
matplotlib.rcParams['font.family'] = 'SimHei'
df.plot(kind='bar', title='2011-2020年各省份GDP数据')
plt.show()
if __name__ == "__main__":
main()
python爬虫 爬取国家数据网站10各省份GDP
最新推荐文章于 2025-06-03 13:01:47 发布
该博客主要展示了如何使用Python爬虫从国家数据网站获取2011年至2020年各省份GDP数据,并进行数据整理与可视化。通过`requests`、`pandas`和`matplotlib`等库,实现了数据爬取、存储到Excel以及绘制柱状图展示。代码中包含了错误处理和时间戳功能,确保了爬取的稳定性和效率。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
Python3.9
Conda
Python
Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

1000

被折叠的 条评论
为什么被折叠?



