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程序设计有所帮助。