Python接入天气预报api

前几天看着论坛上做了一个天气预报的小程序,今天自己也学着做了一个:

  • 天气预报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)

成功截图:
Python接入天气预报api_第1张图片
大功告成

你可能感兴趣的:(python)