全球天气预报5天(经纬度版)免费API接口教程

本文全面介绍由接口盒子免费API提供的全球天气预报API,支持通过经纬度坐标获取任意地区未来5天的详细天气预报数据。


一、接口核心功能

  • 全球覆盖:支持全球任意经纬度坐标点的天气预报
  • 高精度预报:提供每3小时为间隔的精细化预报(5天共40组数据)
  • 多维度数据:包含天气状况、温度、气压、湿度、风速等12项气象要素
  • 免费使用:个人开发者可直接调用(需注册获取专属KEY)

二、接口基本信息

项目 说明
请求地址 https://cn.apihz.cn/api/tianqi/tqybjw5.php
请求方式 GET/POST
数据格式 JSON
响应时间 平均200-500ms

三、请求参数说明

参数名 必填 示例值 说明
id 10000000 用户中心注册的数字ID
key 15he5h15ty854j5sr152hs2 用户中心通讯秘钥
lat 40.05702706489032 纬度坐标(十进制)
lon 116.30787799999993 经度坐标(十进制)

📌 重要提示:

示例中的88888888为公共测试KEY,​实际使用请注册获取专属KEY

免费版限制:5次/分钟,无日总量限制


四、返回参数详解

复制代码

json

复制

复制代码
{
  "code": 200,             // 状态码(200成功,400错误)
  "cnt": 40,               // 数据组数量(5天×8组/天)
  "name": "Haidian",       // 最近城市名称
  "country": "CN",         // 国家代码(ISO标准)
  "sunrise": 1726523854,   // 日出时间戳
  "sunset": 1726568470,    // 日落时间戳
  "data": [                // 天气预报数据集合
    {
      "dt": 1726552800,        // 时间戳
      "time": "2024-09-17 06:00:00", // 本地时间
      "temp": 300.91,          // 开氏温度(K)
      "temph": 27.76,          // 摄氏温度(℃) 
      "pressure": 1006,        // 气压(hPa)
      "humidity": 44,          // 湿度(%)
      "weather": "晴",         // 天气现象
      "clouds": 2,             // 云量百分比(%)
      "speed": 2.67,           // 风速(m/s)
      "deg": 111,              // 风向(度)
      "visibility": 10000      // 能见度(米)
    },
    // ...共40组数据...
  ]
}

🌡️ 温度说明:

  • temp:开尔文温度(科学计算常用)
  • temph:摄氏温度(日常使用)
    转换公式:℃ = K - 273.15

五、调用示例代码

PHP调用示例
复制代码

php

复制

复制代码
<?php
// 配置参数
$apiUrl = "https://cn.apihz.cn/api/tianqi/tqybjw5.php";
$params = [
    'id'  => '10000000',      // 替换为您的ID
    'key' => '您的专属KEY',    // 替换为您的KEY
    'lat' => '40.057027',     // 纬度
    'lon' => '116.307878'     // 经度
];

// 构造请求URL
$requestUrl = $apiUrl . '?' . http_build_query($params);

// 发起GET请求
$response = file_get_contents($requestUrl);

// 处理响应
if ($response !== false) {
    $weatherData = json_decode($response, true);
    if ($weatherData['code'] == 200) {
        echo "城市: " . $weatherData['name'] . "\n";
        echo "今日天气: " . $weatherData['data'][0]['weather'];
        echo "温度: " . round($weatherData['data'][0]['temph'], 1) . "℃";
    } else {
        echo "错误: " . $weatherData['msg'];
    }
} else {
    echo "API请求失败";
}
?>
Python调用示例
复制代码

python

运行

复制

复制代码
import requests

# 配置参数
params = {
    "id": "10000000",        # 替换为您的ID
    "key": "您的专属KEY",     # 替换为您的KEY
    "lat": "40.057027",      # 纬度
    "lon": "116.307878"      # 经度
}

try:
    # 发送GET请求
    response = requests.get(
        "https://cn.apihz.cn/api/tianqi/tqybjw5.php",
        params=params
    )
    
    weather_data = response.json()
    
    if weather_data['code'] == 200:
        # 提取首条数据
        first_report = weather_data['data'][0]
        print(f"城市: {weather_data['name']}")
        print(f"时间: {first_report['time']}")
        print(f"天气: {first_report['weather']}")
        print(f"温度: {round(first_report['temph'], 1)}℃")
        print(f"风速: {first_report['speed']}m/s")
    else:
        print(f"错误: {weather_data['msg']}")

except Exception as e:
    print(f"请求异常: {str(e)}")

六、使用注意事项

  1. 坐标获取:需先通过地理编码服务获取经纬度
  2. 时间说明 :返回时间均为当地标准时间
  3. 单位规范
    • 温度:摄氏度(℃)/开尔文(K)双轨提供
    • 气压:百帕(hPa)
    • 风速:米/秒(m/s)
  4. 错误处理 :常见错误码:
    • 400:参数错误或KEY验证失败
    • 500:服务器内部错误

七、应用场景

  1. 气象数据可视化平台
  2. 出行类APP的天气模块
  3. 物联网设备环境监测
  4. 农业种植气候监控
  5. 户外活动安全预警系统
相关推荐
SHUIPING_YANG1 分钟前
PHP 8.0 升级到 PHP 8.1
开发语言·php
半夏知半秋10 分钟前
CentOS7下的ElasticSearch部署
大数据·服务器·后端·学习·elasticsearch·搜索引擎·全文检索
张人玉24 分钟前
C#`Array`进阶
java·算法·c#
ezreal_pan35 分钟前
巧用 Golang 函数特性实现单元测试中的数据库操作 Mock
开发语言·后端·golang·单元测试·函数
超浪的晨35 分钟前
Java Map 集合详解:从基础语法到实战应用,彻底掌握键值对数据结构
java·开发语言·后端·学习·个人开发
似水এ᭄往昔36 分钟前
【C++】——类和对象(中)——默认成员函数
开发语言·c++
qq_5298353538 分钟前
事务隔离:从锁实现到MVCC实现
java·开发语言·数据库
望获linux1 小时前
【实时Linux实战系列】实时系统的安全性架构
java·linux·服务器·开发语言·架构·嵌入式软件
技术与健康1 小时前
【Android代码】绘本翻页时通过AI识别,自动通过手机/pad朗读绘本
android·人工智能·智能手机
十步杀一人_千里不留行1 小时前
RustDesk 自建中继服务器教程(Mac mini)
运维·服务器·macos