Python接入天氣預報api
阿新 • • 發佈:2019-01-30
前幾天看著論壇上做了一個天氣預報的小程式,今天自己也學著做了一個:
- 天氣預報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)
成功截圖:
大功告成