首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >天气预报免费API接口【地址查询版】使用教程

天气预报免费API接口【地址查询版】使用教程

原创
作者头像
用户9840656
发布2025-07-05 13:29:30
发布2025-07-05 13:29:30
1.4K00
代码可运行
举报
运行总次数:0
代码可运行

介绍

本文将详细介绍如何使用中国气象局官方数据提供的免费天气预报API接口,该接口通过地址查询获取指定地区当日天气信息。该服务由接口盒子提供,支持免费调用,但需要使用注册获取的用户ID和KEY进行身份验证。

接口特点

  • 数据来源​:中国气象局官方数据
  • 免费使用​:无需付费即可调用
  • 简单易用​:仅需省份和地点即可查询
  • JSON格式​:返回数据为JSON格式,便于解析
  • 支持方式​:支持GET和POST两种请求方式

API接口详情

请求地址

https://cn.apihz.cn/api/tianqi/tqyb.php

请求方式

GET或POST

请求参数

参数名称

参数

必填

说明

用户ID

id

用户中心的数字ID (例: id=10000000)

用户KEY

key

用户中心通讯秘钥 (例: key=15he5h15ty854j5sr152hs2)

省份名称

sheng

要查询的省份名称 (例: sheng=北京, sheng=四川省)

地点

place

要查询的城市或区县级名称 (例: place=大兴区, place=绵阳)

注意​:如果查询失败,可以尝试去掉地名后缀(如"省"、"市"、"区"等)

返回参数

参数名称

参数

说明

状态码

code

200表示成功,400表示错误

消息内容

msg

状态码为400时的错误信息提示

降水量

precipitation

降水量

温度

temperature

温度

气压

pressure

气压

湿度

humidity

湿度

风向

windDirection

风向

风向度

windDirectionDegree

风向度

风速

windSpeed

风速

风速描述

windScale

风速描述

地区

place

查询到的地区

当日天气1

weather1

当日主要天气 (如"晴"在"晴转多云"中)

当日天气2

weather2

当日次要天气 (如"多云"在"晴转多云"中)

调用示例

GET请求示例

代码语言:javascript
代码运行次数:0
运行
复制
复制https://cn.apihz.cn/api/tianqi/tqyb.php?id=88888888&key=88888888&sheng=四川&place=绵阳

成功返回示例

代码语言:javascript
代码运行次数:0
运行
复制
json复制{
  "precipitation": 0,
  "temperature": 25.9,
  "pressure": 952,
  "humidity": 55,
  "windDirection": "西北风",
  "windDirectionDegree": 333,
  "windSpeed": 1.4,
  "windScale": "微风",
  "code": 200,
  "place": "中国, 四川, 绵阳",
  "weather1": "晴",
  "weather2": "多云"
}

错误返回示例

代码语言:javascript
代码运行次数:0
运行
复制
json复制{
  "code": 400,
  "msg": "通讯秘钥错误。"
}

编程语言调用示例

PHP调用示例

代码语言:javascript
代码运行次数:0
运行
复制
php复制<?php
// 用户ID和KEY(替换为自己的)
$id = '10000000';
$key = 'your_key_here';
$sheng = '四川';
$place = '绵阳';

// 构造请求URL
$url = "https://cn.apihz.cn/api/tianqi/tqyb.php?id={$id}&key={$key}&sheng={$sheng}&place={$place}";

// 发送GET请求
$response = file_get_contents($url);

// 解析JSON响应
$data = json_decode($response, true);

// 检查状态码
if ($data['code'] == 200) {
    echo "地区: " . $data['place'] . "\n";
    echo "天气: " . $data['weather1'] . "转" . $data['weather2'] . "\n";
    echo "温度: " . $data['temperature'] . "℃\n";
    echo "湿度: " . $data['humidity'] . "%\n";
    echo "风向: " . $data['windDirection'] . ",风速: " . $data['windScale'] . "(" . $data['windSpeed'] . "m/s)\n";
} else {
    echo "请求失败: " . $data['msg'] . "\n";
}
?>

Python调用示例

代码语言:javascript
代码运行次数:0
运行
复制
python运行复制import requests

# 用户ID和KEY(替换为自己的)
id = '10000000'
key = 'your_key_here'
sheng = '四川'
place = '绵阳'

# 构造请求URL
url = f'https://cn.apihz.cn/api/tianqi/tqyb.php?id={id}&key={key}&sheng={sheng}&place={place}'

# 发送GET请求
response = requests.get(url)
data = response.json()

# 检查状态码
if data['code'] == 200:
    print(f"地区: {data['place']}")
    print(f"天气: {data['weather1']}转{data['weather2']}")
    print(f"温度: {data['temperature']}℃")
    print(f"湿度: {data['humidity']}%")
    print(f"风向: {data['windDirection']},风速: {data['windScale']}({data['windSpeed']}m/s)")
else:
    print(f"请求失败: {data['msg']}")

使用注意事项

  1. 注册获取ID和KEY​:必须使用自己在接口盒子(http://www.apihz.cn)注册后获得的用户ID和KEY,避免使用公共示例的ID和KEY(如88888888),以免受到频次限制。
  2. 地名处理​:
    • 如果查询失败,尝试去掉省份或地点的后缀(如"省"、"市"、"区"、"县"等)
    • 例如:使用"北京"代替"北京市",使用"四川"代替"四川省",使用"高新"代替"高新区"
  3. 频次限制​:
    • 公共ID和KEY共享每分钟调用频次限制
    • 注册获取自己的ID和KEY可独享调用频次
    • 每日调用无上限
  4. 数据更新​:
    • 数据来源于中国气象局官方,实时性有保障
    • 建议合理设置调用间隔,避免频繁请求
  5. 错误处理​:
    • 务必检查返回的code字段
    • 当code为400时,根据msg提示调整请求参数

应用场景

该API适用于各种需要天气预报信息的应用:

  • 天气预报类网站或小程序
  • 出行规划类应用
  • 农业监测系统
  • 智能家居系统
  • 物联网设备
  • 地理位置服务

通过本文介绍,您应该已经了解了如何使用中国气象局天气预报API接口获取指定地区的天气信息。无论是PHP还是Python开发者,都可以轻松集成该API到自己的应用中,为用户提供准确的天气预报服务。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
    • 接口特点
  • API接口详情
    • 请求地址
    • 请求方式
    • 请求参数
    • 返回参数
  • 调用示例
    • GET请求示例
    • 成功返回示例
    • 错误返回示例
  • 编程语言调用示例
    • PHP调用示例
    • Python调用示例
  • 使用注意事项
  • 应用场景
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档