目录
1.案例介绍
2.演示
?3.代码
1.案例介绍
本案例爬取中国气象网的天气数据,并用图表工具分析降水数据。
2.演示
????????
?3.代码
????????
# 分析天气数据爬虫案例
import requests,matplotlib.pyplot as mpl,pylab as pl;
if __name__ == "__main__":
# 定义接口地址
url = "https://weather.cma.cn/api/now/58725" # 获取邵武天气数据接口
# 发起GET请求
respose = requests.get(url=url);
# 解析返回数据
json_obj = respose.json();
if json_obj.get("msg") == "success" :
# 请求成功
json_location = json_obj.get("data").get("location");
# 位置信息
print("位置代码:" + json_location.get("id") +
"\n城市名称:"+json_location.get("name")+
"\n详细地址:" + json_location.get("path"));
# 当前天气信息
json_now_data = json_obj.get("data").get("now");
print("\n当前天气:" +
"\n温度:" + str(json_now_data.get("temperature")) +
"\n气压:" + str(json_now_data.get("pressure")) +
"\n湿度:" + str(json_now_data.get("humidity")) +
"\n风向:" + json_now_data.get("windDirection"));
# 未来几天天气分析
url = "https://weather.cma.cn/api/climate"
# 数据准备
params = {
"stationid":58725
}
# 发起请求
respose = requests.get(url=url,params=params);
# 数据解析,图表绘制
x = range(1,13,1);
y = [item.get("maxTemp") for item in respose.json().get("data").get("data")];
print(x);
pl.rcParams["font.sans-serif"] = ["SimHei"];
mpl.figure(figsize=(5,5),dpi=100);
mpl.plot(x,y);
mpl.xticks(x,["{}月".format(i) for i in x]);
mpl.title("1981年-2010年月平均气温和降水");
mpl.show();
else:
# 请求失败
print("服务器返回信息显示数据获取失败!")
|