如何使用百度天气预报API接口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用百度天气预报API接口相关的知识,希望对你有一定的参考价值。
百度API Key申请地址:http://lbsyun.baidu.com/apiconsole/key
创建应用 如图:
提交后得到API Key ,运行结果如下:
扩展资料:
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
API函数包含在Windows系统目录下的动态连接库文件中。Windows API是一套用来控制Windows的各个部件的外观和行为的预先定义的Windows函数。
参考资料:百度百科-api接口
参考技术A百度提供天气预报查询接口API,可以根据经纬度/城市名查询天气情况,我们可以在微信公众平台开发中调用这一接口。
接口说明
根据经纬度/城市名查询天气的结果
百度ak申请地址:http://lbsyun.baidu.com/apiconsole/key
接口示例
http://api.map.baidu.com/telematics/v3/weather?location=北京&output=json&ak=6tYzTvGZSOpYB5Oc2YGGOKt8
天气API JSON返回方式(成功)
"status": 200,
"data":
"wendu": "29",
"ganmao": "各项气象条件适宜,发生感冒机率较低。但请避免长期处于空调房间中,以防感冒。",
"forecast": [
"fengxiang": "南风",
"fengli": "3-4级",
"high": "高温 32℃",
"type": "多云",
"low": "低温 17℃",
"date": "16日星期二"
,
"fengxiang": "南风",
"fengli": "微风级",
"high": "高温 34℃",
"type": "晴",
"low": "低温 19℃",
"date": "17日星期三"
,
"fengxiang": "南风",
"fengli": "微风级",
"high": "高温 35℃",
"type": "晴",
"low": "低温 22℃",
"date": "18日星期四"
,
"fengxiang": "南风",
"fengli": "微风级",
"high": "高温 35℃",
"type": "多云",
"low": "低温 22℃",
"date": "19日星期五"
,
"fengxiang": "南风",
"fengli": "3-4级",
"high": "高温 34℃",
"type": "晴",
"low": "低温 21℃",
"date": "20日星期六"
],
"yesterday":
"fl": "微风",
"fx": "南风",
"high": "高温 28℃",
"type": "晴",
"low": "低温 15℃",
"date": "15日星期一"
,
"aqi": "72",
"city": "北京"
,
"message": "OK"
拓展资料
天气预报API是一个针对一个地点或一个地区,查询当前天气编写的一个API调用接口,一般返回为XML或者JSON格式报文,通过此接口可以获取一个城市的温度、气候、最高气温、最低气温等数据的信息。
天气预报API是一个提供未来天气预报数据的一个API调用接口,通过此接口可以获取一个城市的温度、气候、PM2.5、湿度、最高最低气温等信息,从而应用自己编写的程序中。
采用 Postman 或者采用 Sojson 在线测试工具。
参考资料:天气预报API 360百科
参考技术B# 天气预报
import json
import requests
AK = '12345'
# 用自己百度的API key,替换掉12345,但是天气查询已经不提供新注册的用户了
# 按网站要求格式拼链接字串
def url_name(city_name):
api = 'http://api.map.baidu.com/telematics/v3/weather?location='
# api例子 'http://api.map.baidu.com/telematics/v3/weather?location=城市名字&output=APP Key'
full_url = api + city_name + '&output=json' + '&ak=' + AK
return full_url
# 主函数
while True:
print('\\n:=^40'.format('欢迎进入天气查询系统'))
# :=^40是规定整个字串占40个字符的位置,'欢迎进入天气查询系统居中'居中(^),其他位置用'='填补上(=)
city = input('请输入您要查询的城市名称 / (按 Q 退出):').upper()
if city == 'Q':
print('您已退出天气查询系统!')
break
else:
url = url_name(city)
# 向服务器请求,返回服务器回应的Response对象
response = requests.get(url)
# 使用loads函数,将json字符串转换为字典类型
rs_dict = json.loads(response.text)
error_code = rs_dict['error']
# error为0,表示数据正常,否则没有查询到天气信息
if error_code == 0:
results = rs_dict['results']
# 从天气信息中取出results数据
city_name = results[0]['currentCity']
pm25 = results[0]['pm25']
print('当前城市>>> pm25值>>> '.
format(city_name, pm25))
# 取出天气信息
weather_data = results[0]["weather_data"]
# 循环取出每一天天气的小字典
for weather_dict in weather_data:
# 取出日期、天气、风级、温度
date = weather_dict['date'] # 日期
weather = weather_dict['weather'] # 天气
wind = weather_dict['wind'] # 风级
temperature = weather_dict['temperature'] # 温度
print('0 | 1 | 2 | 3'.
format(date, weather, wind, temperature))
# 数字对应后面的参数,类似于顺序索引
else:
print('没有查询到 的天气信息!'.format(city))
运行结果:
拓展资料:
天气预报API是一个提供未来天气预报数据的一个API调用接口,通过此接口可以获取一个城市的温度、气候、PM2.5、湿度、最高最低气温等信息,从而应用自己编写的程序中。
采用 Postman 或者采用 Sojson 在线测试工具。
参考资料来源:百度百科.天气预报API
这个天气预报接口可以呢:http://www.sojson.com/blog/234.html
天气API JSON返回方式
我测试一下请求北京的天气,链接为:http://www.sojson.com/open/api/weather/json.shtml?city=北京
天气API JSON返回方式(成功)
"status": 200,
"data":
"wendu": "29",
"ganmao": "各项气象条件适宜,发生感冒机率较低。但请避免长期处于空调房间中,以防感冒。",
"forecast": [
"fengxiang": "南风",
"fengli": "3-4级",
"high": "高温 32℃",
"type": "多云",
"low": "低温 17℃",
"date": "16日星期二"
,
"fengxiang": "南风",
"fengli": "微风级",
"high": "高温 34℃",
"type": "晴",
"low": "低温 19℃",
"date": "17日星期三"
,
"fengxiang": "南风",
"fengli": "微风级",
"high": "高温 35℃",
"type": "晴",
"low": "低温 22℃",
"date": "18日星期四"
,
"fengxiang": "南风",
"fengli": "微风级",
"high": "高温 35℃",
"type": "多云",
"low": "低温 22℃",
"date": "19日星期五"
,
"fengxiang": "南风",
"fengli": "3-4级",
"high": "高温 34℃",
"type": "晴",
"low": "低温 21℃",
"date": "20日星期六"
],
"yesterday":
"fl": "微风",
"fx": "南风",
"high": "高温 28℃",
"type": "晴",
"low": "低温 15℃",
"date": "15日星期一"
,
"aqi": "72",
"city": "北京"
,
"message": "OK"
参考技术D 百度天气接口
以GET形式提交,返回JSON或XML
URL:http://api.map.baidu.com/telematics/v3/weather?location=城市名&output=返回格式&ak=百度AK
PS:百度AK需要到LBS云申请 http://lbsyun.baidu.com/apiconsole/key
JSON返回主要数据
date:时间、currentCity:城市、pm25:pm2.5指数、index:各指数意见(穿衣、洗车、旅游、干嘛、运动、紫外线)、weather_data:四天内的天气情况(天气、温度、风向、参考图标)
以上是关于如何使用百度天气预报API接口的主要内容,如果未能解决你的问题,请参考以下文章