本文将详细介绍如何使用中国气象局官方数据提供的免费天气预报API接口,该接口通过地址查询获取指定地区当日天气信息。该服务由接口盒子提供,支持免费调用,但需要使用注册获取的用户ID和KEY进行身份验证。
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 | 当日次要天气 (如"多云"在"晴转多云"中) |
复制https://cn.apihz.cn/api/tianqi/tqyb.php?id=88888888&key=88888888&sheng=四川&place=绵阳
json复制{
"precipitation": 0,
"temperature": 25.9,
"pressure": 952,
"humidity": 55,
"windDirection": "西北风",
"windDirectionDegree": 333,
"windSpeed": 1.4,
"windScale": "微风",
"code": 200,
"place": "中国, 四川, 绵阳",
"weather1": "晴",
"weather2": "多云"
}
json复制{
"code": 400,
"msg": "通讯秘钥错误。"
}
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运行复制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']}")
该API适用于各种需要天气预报信息的应用:
通过本文介绍,您应该已经了解了如何使用中国气象局天气预报API接口获取指定地区的天气信息。无论是PHP还是Python开发者,都可以轻松集成该API到自己的应用中,为用户提供准确的天气预报服务。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。