上次做飛信天氣預報的時候簡單搜尋了一下中國天氣網的 api ,當然是沒有官方文件的,最初是誰挖掘出來的也不可考了。剛才在增加新功能的時候又順手搜了一下相關資料,發現這個 api 還真不簡單。中國天氣網有三個 api 適用於不同場合的使用。
這個介面返回的格式如下。
上面這個就是我現在在用的,返回的資料最全面,也是絕大多數部落格中都會介紹的。另外還有兩個介面比較簡潔。}
這個介面返回的資料是實況資料,像下面這樣的。
還有乙個介面 這個介面返回的資料如下。}
另外中國天氣網還有乙個根據 ip 來判斷訪問者所在地的引擎,位址在 ,直接訪問的話會提示「this is the geoip engine created for weather.com.cn. 」,訪問g/ 可以返回你的 ip 所在地相應資訊,包括 ip 和城市編號,但是沒有城市名稱。}
另外,天氣網本身有另乙個用於 flash 的介面。在天氣網上查詢任意乙個城市的天氣,可以看到其頁面上有乙個 flash 繪製的「整點天氣實況」,就是當天的氣溫曲線。裡面的資料是從 這個介面獲得的。返回資料如下。
稍作解析: sktq 是「實況天氣」的漢語拼音首字母縮寫,這個節點的 id 是城市 id ,ptime 即是發布時間, city 是城市的名稱。根節點內是一系列 qw 節點, qw 即是「氣溫」的漢語拼音縮寫;每個節點中, h 是整點小時數,即此節點資料發布時間的小時位; wd 是溫度,以攝氏計; fx 是風向,貌似是個角度,具體的規則我還不太清楚; fl 是風力級數; js 是降水,以公釐計; sd 是相對濕度,以百分數計。這一系列節點是以時間逆序排列的,也就是說,接近當前時間的排在前面。2013 年 8 月 22 日更新:四個介面依次如下: , , 。其中編號 99 代表空。
對於想手動獲取城市**的朋友,也有幾個介面提供給大家。獲取省級**的介面: ,獲取城市**的介面(比如安徽省是 22 ): ,獲取區域**的介面(比如安慶是 2206): 。需要注意的是這幾個介面並不是返回 xml 文件,而是返回純文字,需要自行分割匹配。
flash 實況位址在這裡:
本次更新的內容都來自於 在此對介面的挖掘者和分享者表示感謝!也感謝讀者朋友的反饋。
解決中國天氣網天氣預報API返回資料亂碼問題
期初取到的資料中文和符號都是亂碼,最後通過以下方法解決。首先定義獲取方法 string url string weatherinfo weatherutil.getweatherinfo url weatherutil為獲取具體氣象資料的工具類 public static string getwea...
beautiful 獲取中國天氣網資料
import re import os import time import pandas as pd import requests from bs4 import beautifulsoup import random 完整 url proxy response requests.get url...
Python爬取中國天氣網天氣資料
由於一些需要,想要獲取今天的天氣資料,於是又撿起了python寫了個爬蟲用來獲取中國天氣網上的氣象資料。由於我需要的資料比較簡單,因為我只需要北京地區當天的溫度 最低溫度和最高溫度 和天氣,因此 部分比較簡單,下面就來講講這個爬取的過程。第一步 網頁分析 要進行爬蟲設計,首先得分析網頁的請求過程。首...