本文全面介紹由接口盒子免費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, // 開氏溫度(?)"temph": 27.76, // 攝氏溫度(℃) "pressure": 1006, // 氣壓(hPa)"humidity": 44, // 濕度(%)"weather": "晴", // 天氣現象"clouds": 2, // 云量百分比(%)"speed": 2.67, // 風速(m/s)"deg": 111, // 風向(度)"visibility": 10000 // 能見度(米)},// ...共40組數據...]
}
🌡? 溫度說明:
temp
:開爾文溫度(科學計算常用)temph
:攝氏溫度(日常使用)
轉換公式:℃ = ? - 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)}")
六、使用注意事項
- ?坐標獲取?:需先通過地理編碼服務獲取經緯度
- ?時間說明?:返回時間均為當地標準時間?
- ?單位規范?:
- 溫度:攝氏度(℃)/開爾文(?)雙軌提供
- 氣壓:百帕(hPa)
- 風速:米/秒(m/s)
- ?錯誤處理?:常見錯誤碼:
400
:參數錯誤或KEY驗證失敗500
:服務器內部錯誤
七、應用場景
- 氣象數據可視化平臺
- 出行類APP的天氣模塊
- 物聯網設備環境監測
- 農業種植氣候監控
- 戶外活動安全預警系統