1. 程式人生 > >Python接入天氣預報api

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)

成功截圖:
weather
大功告成