這裡只總結我這次用到的「中國天氣網」的天氣預報api:
只要發http請求給這個url就可收到天氣資料:
url中的 101010100 是北京的id,其他城市的id可以在中國天氣網上查到。餘下的工作就是將天氣資料按照自己的方式顯示出來。
收到的資料是json格式的,json是一種網頁交換資料的格式,可以參考上面有很多parser:
json資料是以key-value的形式來顯示的,如下是收到的json資料:
}解析出來就可以顯示了,要注意資料過來的時候是utf8的,還要轉成unicode才能顯示。對於的話,就直接到天氣網上「另存為」就可以拿下來預先儲存好,等收到天氣資料的時候去拿對應的去顯示就行,這樣既節省流量也節省code。
需要注意的是如果我們指定socket connection的keep-alive(永久鏈結)的話,收到資料的thansfer-encoding是trunked,沒有content-length這個字段,所以不能依賴content-length來決定自己的buffer要預留多少。
如下是通過mozilla獲取天氣資訊,通過ethreal抓到的發出去的包。
如下是收到的包。
因為還沒有解決utf8轉anscii的問題,所以目前只能顯示點臨時資料了。發圖紀念一下,在 finsh下輸入command: screen_capture("/sd/screen.bmp")然後回車就可以抓當前顯示的screen的樣子下來。
天氣預報 API
獲取城市編碼的url 1.通過 獲取省份列表 得01 北京,02 上海,03 天津,04 重慶,05 黑龍江,06 吉林,07 遼寧,08 內蒙古,09 河北,10 山西,11 陝西,12 山東,13 新疆,14 15 青海,16 甘肅,17 寧夏,18 河南,19 江蘇,20 湖北,21 浙江,2...
天氣預報API
yahoo api yahoo 北京天氣 可以通過搜尋查詢 google api 而除了美國以外的地區需要使用經緯度座標作為引數才能執行 google weather api,例如 30670000,104019996 為 成都,中國大陸 的經緯度座標 當然,也可能通行城市名稱的漢語拼音來查詢,例如...
天氣預報API
最近用到了天氣預報的功能,所以就搜了一些,很感謝各位道友的分享,並測試記錄的下來,方便以後使用。這個是全國天氣的根節點,列出所有的省,其中的pyname欄位是各個省xml的檔名,比如北京的是beijing,那就意味著北京的xml位址為 乙個省的天氣,其中列出該省各個市的資料,北京就列出各個區。tmp...