广安门外网站建设,永久免费windows xp,wordpress 登录可见,建设厅网站关于建筑资质合并大家好#xff0c;爬虫是一项非常抢手的技能#xff0c;收集、分析和清洗数据是数据科学项目中最重要的部分#xff0c;本文介绍使用json解析气象局天气数据。
在官网上获取天气数据信息#xff0c;可以定义当前查询的位置#xff0c;提取时间、温度、湿度、气压、风速等…大家好爬虫是一项非常抢手的技能收集、分析和清洗数据是数据科学项目中最重要的部分本文介绍使用json解析气象局天气数据。
在官网上获取天气数据信息可以定义当前查询的位置提取时间、温度、湿度、气压、风速等信息并导入requests、matplotlib这些需要用到的库。
# 导入以下模块
import requests
import matplotlib.pyplot as plt
import pylab as pl
1.获取今日天气
调用api接口地址获取天气数据接口本文获取57494代表武汉的数据接口进而获取json数据并判断json请求是否成功。
def get_weather():# 调用api接口地址# 获取57494代表武汉的天气数据接口url https://weather.cma.cn/api/now/57494# 获取json数据json_datas requests.get(urlurl).json()#判断json请求是否成功if json_datas.get(msg) success:# 请求成功json_location json_datas.get(data).get(location)# 位置信息print(\n, 当前查询的位置.center(50, —))print(城市代码: json_location.get(id) 城市名称: json_location.get(name) 详细地址: json_location.get(path));# 当天天气信息json_now_data json_datas.get(data).get(now)# 获取最新发布时间now_time 最新天气发布时间 str(json_datas.get(data).get(lastUpdate))print(\n,now_time.center(50, —))print(\n温度: str(json_now_data.get(temperature)) 气压: str(json_now_data.get(pressure)) 湿度: str(json_now_data.get(humidity)))print(\n风向: json_now_data.get(windDirection) 风力等级: json_now_data.get(windScale))else:# 提示失败print(服务器返回的数据失败了)
2.可视化显示温度曲线
解析json数据获取历史最大和最小的温度数据进行图表绘制可视化展示温度数据使用绘图库输出可视化结果。
def get_Max_temperature():url https://weather.cma.cn/api/climate# 1传数据参数params {stationid: 57494}# 2.获取json数据json_datas requests.get(urlurl, paramsparams).json()#print(json_datas)# 3.解析json数据,图表绘制datajson_datas.get(data).get(data)x range(1, 13, 1) #显示12个月# 4.获取最大和最小的温度数据y [maxTemp.get(maxTemp) for maxTemp in data]y1 [minTemp.get(minTemp) for minTemp in data]pl.rcParams[font.sans-serif] [SimHei]plt.figure(figsize(70, 70), dpi100)plt.plot(x, y)plt.plot(x, y1)plt.xticks(x, [{}月.format(i) for i in x])plt.title(1981年-2010年月平均气温和降水)plt.show()if __name__ __main__:get_weather()get_Max_temperature()print(数据获取完成)