如何使用百度天气预报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

参考技术C

这个天气预报接口可以呢: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接口的主要内容,如果未能解决你的问题,请参考以下文章

百度API 免费接口获取天气预报

微信公众平台如何在开发模式下设置天气预报自动回复

PHP调用API接口实现天气查询功能

12.5.3 获取天气预报实例

简单天气应用开发——API接口

如何用java web 调用天气接口