最好的 6 个免费天气 API 接口对比测评

本文首发:最好的 6 个免费天气 API 接口对比测评 - 卡拉云

文章目录

天气 API包含丰富的天气数据,不仅有实时温度、湿度、风速、降水等这些基础数据,还有过去的历史天气数据和未来的天气预测数据,顶级的天气 API 接口还会包括天气灾害预警,空气质量指数,日出日落、潮汐及月相相关的天文气象等数据。天气 API 也并不难获得,本教程将介绍 6 款国内外免费的天气 API,并手把手教你搭建一套属于自己的天气数据看板。

免费的天气 API 概览 - 如何选到免费又稳定的天气 API 接口

本文所介绍的天气 API 均是我自己接入使用过的,它们是从众多天气 API 中甄选出的 6 款高质量免费天气 API 。这 6 款 API 都是基础免费增值付费的商业模式,这种模式保证了免费用户可以长期稳定的使用,不用担心数据源挂掉。特别是本文介绍的全球天气 API 对免费用户非常友好,免费开放的数据更多样,限制更少,我会在本文后半段详细介绍。

本文详细讲解以下 6 个免费天气 API 的特点及接入方法

  • 高德天气 API -免费、 稳定、极简,适合天气预报基础需求
  • 心知天气 API - 免费、轻便、专业,适合天气预报的初级需求
  • 和风天气 API - 免费和付费同权限,非商业无限免费,含空气质量、天文气象
  • OpenWeather - 免费 100 万次/月 分钟级实时预报,天气云图
  • AccuWeather - 全球最大的气象数据服务商,历史悠久,数据精准,天气 API 王者
  • Visual Crossing - 非开发者使用友好 50年历史气象数据免费调用

一. 高德地图天气 API - 稳定、免费、极简

高德地图天气 API

高德地图的天气服务面向仅需要稳定的实时天气和简单的未来数天预测服务的开发者,高德天气相对于本文介绍的其他天气 API 来说,显得有些简略,但如果你对天气的需求就是实时和简单的未来预报,那么高德一定是你的好选择。不绕弯,只给你最需要的部分。

1. 高德地图天气 API 免费版可用资源

  • 30万次/日,200次/秒并发
  • 实时天气预报
  • 未来 4 天天气预报
  • 最高最低气温、风力风向、湿度
  • 与高德地图数据融合,极其丰富的地点地图路径数据

2. 高德地图天气 API 接入极简教程

高德地图天气 API

  • 阅读高德地图天气开发文档
  • 打开 API 接口工具,填入 高德地图天气 API URL
https://restapi.amap.com/v3/weather/weatherInfo?key=【你的_API_KEY】8&city=110000&extensions=all
  • 高德天气 API 示例:北京未来三天天气预报(查看高德天气的城市编码)北京的城市编码为110000

高德天气 API 示例

本教程使用「卡拉云」作为接口工具示例演示,在卡拉云直接调用 高德天气 API 查询数据返回成功。

本教程使用「卡拉云」作为接口工具示例演示

使用卡拉云简单拖拽即可快速搭建自己的「天气预报数据看板」,本文最后一章详细讲解。

二. 心知天气 API - 免费、轻便、专业

心知天气 API

心知天气用下来整体感觉轻巧顺手,对于免费版用户没有限制访问次数,可以无限访问,这点已经超过大多数国内天气 API。免费版可调用未来三天的天气预报,包含天气气象和气温两个要素。把它放在第二个介绍是因为心知天气相对于前文的高德天气来说,有可升级的空间。

1. 心知天气 API 免费版可用资源

  • 永久免费,无限访问,20次/分钟
  • 全国 370 个主要城市数据
  • 实况天气数据
  • 未来 3 日天气预报

2. 心知天气 API 接入极简教程

  • 打开心知天气注册账号
  • 在 心知天气控制台创建你的产品,获得 API Key

心知天气

### 使用Python调用免费天气API获取数据 为了实现这一目标,可以遵循几个主要环节来构建程序逻辑。首先,准备工作中涉及选择合适的免费天气API服务提供商并注册账号以获得API密钥[^1]。 #### 准备工作 确保安装了`requests`库用于发起HTTP请求。可以通过命令行工具pip轻松完成此操作: ```bash pip install requests ``` #### 发送API请求 下面是一个简单的例子展示怎样使用Python向指定的天气API发出GET请求,并解析JSON格式的结果。这里假设使用的API支持通过城市名称查询天气情况: ```python import requests def get_weather(city_name, api_key): base_url = "http://api.openweathermap.org/data/2.5/weather?" complete_url = f"{base_url}q={city_name}&appid={api_key}" response = requests.get(complete_url) if response.status_code == 200: weather_data = response.json() main_info = weather_data['main'] temperature = main_info['temp'] - 273.15 # Convert Kelvin to Celsius description = weather_data['weather'][0]['description'] return { 'temperature': round(temperature, 2), 'condition': description.capitalize(), } else: print(f"Error occurred while fetching data: {response.status_code}") return None if __name__ == "__main__": city = input("Enter the name of a city: ") key = "<Your_API_Key_Here>" # Replace with your actual API Key from OpenWeatherMap or another provider. result = get_weather(city, key) if result is not None: print(f"The current temperature in {city.title()} is {result['temperature']}°C and it's currently {result['condition']}.") ``` 这段代码展示了如何定义函数`get_weather()`接受两个参数——城市名和API密钥;随后构造完整的URL字符串并向其发送GET请求;最后根据服务器返回的状态码判断是否成功接收到有效响应,并据此执行不同的分支逻辑[^3]。 #### 处理返回的数据 当一切顺利时,会得到一个包含大量信息的对象作为回应。上述示例中只提取了温度(转换成摄氏度)以及天气状况描述这两项基本信息。实际应用可根据需求调整要读取的具体字段。 #### 错误处理 如果遇到问题,则打印出错提示连同状态码一起显示给用户查看。这有助于快速定位潜在的问题所在之处。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值