您的位置:首页 > 编程语言 > Python开发

Python接入天气预报api

2016-02-12 20:06 585 查看
前几天看着论坛上做了一个天气预报的小程序,今天自己也学着做了一个:

天气预报api

 使用的是DT阿凡达数据平台的天气接口api比较简单,就是返回数据的结构真是复杂,我在想能不能用类似re的直接找出相关的属性值。这种json结构一旦改变,程序修改起来也是麻烦的要命

get请求的模块

 使用的是requests模块,requests大法吼。==

#天气预报查询接口
import requests
def showmsg(js):
#显示时间
date=js['result']['realtime']
print('地点:{0} 现在时间:{1} 农历:{2} {3}'.format(date['city_name'],date['date'],date['moon'],date['time']))
#预报天气状况
weather=js['result']['weather']
weinfo=weather[0]['info']
for k,v in weinfo.items():
print(k,':',v)
print()
#显示污染指数
pm=js['result']['pm25']['pm25']
print('今天污染指数:\npm25={0} pm10={1} 污染等级{2}:{3}\n生活建议:{4}'.format(pm['pm25'],pm['pm10'],pm['level'],pm['quality'],pm['des']))
#显示生活建议
info=js['result']['life']['info']
f={'ziwaixian':'紫外线','kongtiao':'空调','wuran':'污染','ganmao':'感冒','xiche':'洗车','yundong':'运动', 'chuanyi':'穿衣'}
for k,v in info.items():
print(f[k],':',v)

appkey='cc74ea7ca25c4144a5e87264cc764efa'
city=input('请输入查询的地名:')
value={
'key':appkey,
'cityname':city,
}
url='http://api.avatardata.cn/Weather/Query'
s=requests.get(url,params=value)
js=s.json()
showmsg(js)


成功截图:



大功告成
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  api python requests 天气