Python实现从百度API获取天气的方法
本文实例讲述了Python实现从百度API获取天气的方法。分享给大家供大家参考。具体实现方法如下:
__author__='saint'
importos
importurllib.request
importurllib.parse
importjson
classweather(object):
#获取城市代码的uri
code_uri="http://apistore.baidu.com/microservice/cityinfo?cityname="
#获取天气信息的uri
weather_uri="http://apistore.baidu.com/microservice/weather?cityid="
#主处理逻辑
defmainHandle(self):
print("输入你要查询的天气:")
city_name=input()
uri=self.code_uri+urllib.parse.quote(city_name)
ret=json.loads(urllib.request.urlopen(uri).read().decode("utf8"))
ifret['errNum']!=0:
print(ret['retMsg'])
returnFalse
else:
weather_uri=self.weather_uri+ret['retData']['cityCode']
data=json.loads(urllib.request.urlopen(weather_uri).read().decode("utf8"))
ifdata['errNum']==0:
ret_data=data['retData']
output="城市名:"+city_name+"\r\n"
output+="更新时间:"+ret_data["date"]+""+ret_data["time"]+"\r\n"
output+="天气:"+ret_data["weather"]+"["+ret_data["WD"]+ret_data["WS"]+"]\r\n"
output+="当前温度:"+ret_data["temp"]+"("+ret_data["h_tmp"]+"--->"+ret_data["l_tmp"]+")\r\n"
print(output)
returnTrue
else:
print(data['errMsg'])
returnFalse
if__name__=="__main__":
weather=weather()
weather.mainHandle()
希望本文所述对大家的Python程序设计有所帮助。