天气 API包含丰富的天气数据,不仅有实时温度、湿度、风速、降水等这些基础数据,还有过去的历史天气数据和未来的天气预测数据,顶级的天气 API 接口还会包括天气灾害预警,空气质量指数,日出日落、潮汐及月相相关的天文气象等数据。天气 API 也并不难获得,本教程将介绍 6 款国内外免费的天气 API,并手把手教你搭建一套属于自己的天气数据看板。
本文所介绍的天气 API 均是我自己接入使用过的,它们是从众多天气 API 中甄选出的 6 款高质量免费天气 API 。这 6 款 API 都是基础免费增值付费的商业模式,这种模式保证了免费用户可以长期稳定的使用,不用担心数据源挂掉。特别是本文介绍的全球天气 API 对免费用户非常友好,免费开放的数据更多样,限制更少,我会在本文后半段详细介绍。
本文详细讲解以下 6 个免费天气 API 的特点及接入方法
高德地图的天气服务面向仅需要稳定的实时天气和简单的未来数天预测服务的开发者,高德天气相对于本文介绍的其他天气 API 来说,显得有些简略,但如果你对天气的需求就是实时和简单的未来预报,那么高德一定是你的好选择。不绕弯,只给你最需要的部分。
https://restapi.amap.com/v3/weather/weatherInfo?key=【你的_API_KEY】8&city=110000&extensions=all
本教程使用「卡拉云」作为接口工具示例演示,在卡拉云直接调用 高德天气 API 查询数据返回成功。
使用卡拉云简单拖拽即可快速搭建自己的「天气预报数据看板」,本文最后一章详细讲解。
心知天气用下来整体感觉轻巧顺手,对于免费版用户没有限制访问次数,可以无限访问,这点已经超过大多数国内天气 API。免费版可调用未来三天的天气预报,包含天气气象和气温两个要素。把它放在第二个介绍是因为心知天气相对于前文的高德天气来说,有可升级的空间。
https://api.seniverse.com/v3/weather/daily.json?key=【你的_api_key】&location=beijing&language=zh-Hans&unit=c&start=-1&days=5
上图为卡拉云成功调用「心知天气 API 」 的返回数据。
本教程使用「卡拉云」作为接口工具做演示,相对于其他接口测试工具,卡拉云在测试接口的同时,可直接完成后台工具的搭建。
如何用卡拉云快速搭建自己的「天气预报数据看板」,本文最后一章详细讲解。
必须得推荐一下和风天气,和风天气 API 面向非商业用户完全免费且不分权限,也就是说商业用户能读什么天气数据,免费用户也就能读什么天气数据。自然灾害、空气质量、极端天气预警、天文信息这些在国内天气 API 的免费版中非常少见,和风天气这种免费和付费同权的商业模式让大家能无限使用所有的数据,在你的项目成长成商业项目,有收入后再收费,可以说非常良心。
https://devapi.qweather.com/v7/weather/now?location=101010100&key=【你的_api_key】
![本教程使用「卡拉云」作为接口工具做演示(03-03-kalacloud.jpg)
上图为卡拉云成功调用「和风天气 API 」 的返回数据。
本教程使用「卡拉云」作为接口工具做演示,相对于其他接口测试工具,卡拉云在测试接口的同时,可直接完成后台工具的搭建。
如何用卡拉云快速搭建自己的「天气预报数据看板」,本文最后一章详细讲解。
接着我们来说说全球天气 API
国际天气 API 服务商的免费档相比中国国内的,会提供更多免费数据,OpenWeather 作为老牌天气信息 API 服务商,可以说是非常良心了。不仅在调用次数上给了 100 万次/月,而且在预报的精度上免费了 60 分钟分钟级预报和 48 小时每小时预报,对于天气敏感的行业来说,非常实用。
打开 OpenWeather 网址,邮箱注册,验证邮箱
打开 OpenWeather My API Keys 页面创建自己的 Key
查看 OpenWeather 开发文档
打开 API 接口工具,填入 OpenWeather 的 API URL
http://api.openweathermap.org/data/2.5/forecast?q=beijing&appid=【Your_APP_Key】
weather
:当前天气预报q
:地理位置(city name)上图为卡拉云成功调用「OpenWeather API 」 的返回数据。
本教程使用「卡拉云」作为接口工具做演示,相对于其他接口测试工具,卡拉云在测试接口的同时,可直接完成后台工具的搭建。
如何用卡拉云快速搭建自己的「天气预报数据看板」,本文最后一章详细讲解。
AccuWeather 创立于 1962 年,创始人 Joel 当时还在宾大读气象博士。现在 AccuWeather 已经是全球最大最权威的气象数据站,全球多数安卓机使用的天气查询数据都来自 AccuWeather。
其实 AccuWeather 对免费用户并不友好,每日可调用数非常少,但因为它是全球天气 API 的王者,提供的气象数据、灾害预报等数据及其准确、细致和权威,我还是把它放在这个列表里,如果你正在挑选天气 API ,不管现在用不用的上 AccuWeather,我觉得你一定要知道全球最权威最棒的天气 API 长啥样,全球顶级企业,特别是对天气要求极高的道路、航空、野外作业都会选用 AccuWeather 作为天气数据支持。
打开 AccuWeather 开发者站,邮箱注册并激活账号
打开 My APPS 页,创建你的 APP 并获得 API Key
阅读 AccuWeather API 文档
打开 API 接口工具,本教程使用卡拉云作为示例演示。注册并登录卡拉云,在「数据源」填入 AccuWeather 的 baseURL
http://dataservice.accuweather.com/locations/v1/cities/geoposition/search?q=39.9,116.4&language=zh-cn&apikey=【Your_app_key】
q
:这里可写城市名称,也可像本示例一样使用经纬度查询地点上图为卡拉云成功调用「AccuWeather API 」 的返回数据。
本教程使用「卡拉云」作为接口工具做演示,相对于其他接口测试工具,卡拉云在测试接口的同时,可直接完成后台工具的搭建。
如何用卡拉云快速搭建自己的「天气预报数据看板」,本文最后一章详细讲解。
Visual Crossing 面向数据科学家、数据分析师、气象研究学者等学术和企业气象分析领域,也就是说 Visual Crossing 不像其他天气 API 那样假设使用者都是会写代码的程序员,所以在它的网站上对非程序员提供了非常友好的可视化气象分析工具。比如 API builder, 你只需要输入自己的需求,它帮你生成对应的 API URL ,只需要把这条 URL 复制到你的 API 接口工具上即可方便使用。
https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/BeiJing?unitGroup=metric&key=【Your_api_key】&contentType=json
上图为卡拉云成功调用「 Visual Crossing API 」 的返回数据。
本教程使用「卡拉云」作为接口工具做演示,相对于其他接口测试工具,卡拉云在测试接口的同时,可直接完成后台工具的搭建。
如何用卡拉云快速搭建自己的「天气预报数据看板」,本文最后一章详细讲解。
卡拉云是一套低代码开发工具,相对于 Postman 接口测试工具,卡拉云的优势是在做 API 接口测试的同时,直接就把后台工具给搭出来了,而且开发者完全不用会任何前端技术,只需要简单填写 API URL 即可通过鼠标拖拽快速搭建出一套天气预报数据看板,并可将数据看板分享给其他小伙伴使用。
本文以「对非程序员使用友好的 Visual Crossing 天气 API 」接入卡拉云为例,接入其他天气 API 步骤完全一样。
注册并登陆账号后,点这里获取 北京未来 15 天天气情况 API URL
注意:这里填写的是 Visual Crossing API 的 BaseURL,如下:
https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/
beijing?unitGroup=metric&contentType=json&key=【Your_app_key】
点击「运行并预览」,在弹出的框中可以看到天气 API 返回成功的数值。
{{VisualCrossingAPI.data.days}}
注解:VisualCrossingAPI 为我们在第三步创建的查询,读取 API 中的 days 数据
### 最高温度:{{table1.selectedRow.data.tempmax}} ### 最低温度:{{table1.selectedRow.data.tempmin}} ### 风速:{{table1.selectedRow.data.windspeed}} ### 风力:{{table1.selectedRow.data.windgust}} ### 日出时间:{{table1.selectedRow.data.sunrise}} ### 日落时间:{{table1.selectedRow.data.sunset}}
注解:table1 是指「未来近 15 天预报」的表格名,鼠标选中(selectedRow)哪一列,当日天气就会显示哪一列的天气预报。
{{table1.selectedRow.data.hours}}
注解:table1 是指「未来近 15 天预报」的表格名,鼠标选中(selectedRow)哪一列,显示当日 24 小时分时预报
有时,我们通过天气 API 获取的数据需要导入其他软件或下载到本地进行数据分析,又或者需要发给合伙的小伙伴一起使用。这时,你不用操心导出数据格式、中文乱码等问题,在卡拉云组建库中直接拖拽一个「导出按钮」即可。
卡拉云内置「导出按钮」,仅需拖拽一个按钮组建到画布,简单设置即可一键导出数据至 CSV / Excel / JSON 格式的文件。
熟练使用后,这样的数据看板使用卡拉云最多 5 分钟就能搭建完成,还可以分享给你的小伙伴一同使用。