如何使用百度天气预报API接口
扩展资料:
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
API函数包含在Windows系统目录下的动态连接库文件中。Windows API是一套用来控制Windows的各个部件的外观和行为的预先定义的Windows函数。
参考资料:百度百科-api接口
百度提供天气预报查询接口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百科
# 天气预报
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"
}
气象数据API接口有多种来源,常见的有气象局/气象站、卫星、气象传感器、模型预测、大数据分析等。羲和能源大数据平台提供历史气象数据接口和预测接口,历史数据可选择羲和数源、欧洲中期天气中心、美国国家航空航天局;预测数据可选择德国气象局
在首页气象数据板块选择“定制API”功能
数据来源引用:羲和能源大数据平台(xihe-energy)