Python查询天气,python获取天气数据
一说明本次实验的是百度天气的api,网址为:点击此处
查询广州的天气,返回数据格式,然后解析内容(上面链接点开就知道了)(可以使用铬应用邮递员来预定义数据内容)
二示例代码导入请求导入URL库请求导入http客户端导入JSON # 1要求内置数据解析方法网址=http://api.map.baidu.com/telematics/v3/weather?位置=广州output=JSON AK=kpg x 6 sbfbzvz 8 nldn 5 mxdnbfcallback= r=requests获取(URL)打印(查询日期: r.json()[date])print(城市: r . JSON()[ results ][0][ current city ])print( pm 2.5值: r . JSON()[ results ][0][ pm25 ])print( \ n )for I in range(0,4): print(日期: r.json()[结果][0][天气_数据][我][日期])打印(天气: r.json()[结果][0][天气_数据][我][天气])打印(风力: r . JSON()[ results ][0][ weather _ data ][I][ wind ])print(温度: r . JSON()[ results ][0][ weather _ data ][I][ temperature ])print(-)# 2人人贷库数据库的JSONloads()URL=http://api.map.baidu.com/telematics/v3/weather?位置=广州output=JSON AK=kpg x 6 sbfbzvz 8 nldn 5 mxdnbfcallback= request=URL lib请求urlopen(URL).阅读()解码( utf8 )#注意必须要解码(“utf8”),不然会有错误:JSON对象必须是str,而不是bytes s=JSON加载(请求)打印(查询日期:的[日期])打印(城市: s[结果][0][当前城市])打印( pm 2.5值: s[ results ][0][ pm25 ])print( \ n )for I in range(0,4): print(日期:的[结果][0][天气数据][我][日期])打印(天气: s[ results ][0][ weather _ data ][I][ weather ])print(风力:s[结果][0][天气_数据][I][风])print(温度:的[结果][0][天气_数据][我][温度])打印(- )#3.http.Client库数据库的JSONloads()URL=http://api.map.baidu.com/telematics/v3/weather?位置=广州output=JSON AK=kpgx 6 sbfbzvz 8 nldn 5 mxdnbfcallback= http client=http客户http连接( API地图百度一下com ,80,超时=30)http客户端请求( GET ,/telematics/v3/天气?位置=广州output=JSON AK=kpgx 6 sbfbzvz 8 nldn 5 mxdnbfcallback=)response=http clientgetresponse()s=JSON负载(响应阅读().解码( utf8 )#注意必须要解码(“utf8”),不然会有错误:JSON对象必须是str,而不是"字节"打印("查询日期:的[日期])打印(城市: s[结果][0][当前城市])打印( pm 2.5值: s[ results ][0][ pm25 ])print( \ n )for I in range(0,4): print(日期:的[结果][0][天气数据][我][日期])打印(天气: s[ results ][0][ weather _ data ][I][ weather ])print(风力:s[结果][0][天气_数据][I][风])print(温度: s[结果][0][天气数据][I][温度])打印(-)复制代码三自己定义数据解析函数待解析数据片段:
{showapi_res_code: 0, showapi_res_error : , showapi _ RES _ body :{ page bean :{ allNum :5034, allPages: 252, content list :[{ code 2 img : http://app 1 .showapicom/weixin _ info/pubNum/xxxxx
x.jpg , id: 55cbfce16e36a9c5946e40b0 , pubNum: xxxx , tag : , type1_id: 44 , type1_name :名人明星, type2_id: 73 , type2_name :时尚,用户标识: http://app 1。showapi。com/weixin _ info/pubNum/xxxx。jpg , weiNum: xxx66 },{ code 2 img : http://app 1。showapi。com/weixin _ info/pub num/xxxx。 jpg , id: 55cbfcdf6e36a9c5946e40ae ,发布号: 阳西县蓝星半岛旅游度假村,标签: 添加微信号:xxxx22 , type1_id: 47 , type1_name :生活购物, type2_id: 100 , type2_name :旅游,用户标识: http://app 1。showapi。com/weixin _ info/pubNum/xxxx。jpg , weiNum: xxxx22}复制代码函数:
def json_path(d,path,sep= . ):PP=path . split(sep)t=d for p in PP:if type(t)is dict:t=t[p]elif type(t)is list:t=t[int(p)]else:t=None return Tim port jsond=JSON . loads(s)print json_path(d,Showapi _ RES _ body . page bean . content list . 1 . pubnum )#阳西县蓝星半岛旅游度假区print JSON _ path(d, showapi _ res _ code) # 0复制代码IV .参考资料zhi Hu-为什么我已经知道python的基本语法,却写不出一个类似天气预报或者可以聊天的小软件?结合python API实现即时天气信息。python调用API得到的JSON如何处理才能得到我想要的?网上哪个天气API比较靠谱?Python day 08获取天气信息。制作天气预报软件
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。