2020年5月10日 星期日

利用Python透過氣象開放資料平台取得百香果故鄉的氣象資料



2.資料(https://opendata.cwb.gov.tw/dataset/forecast?page=1)可以分成下列幾種:

  • 預報
  • 觀測
  • 地震海嘯
  • 氣候
  • 天氣警特報
  • 數值預報
  • 天文


3.資料下載排行排,如下圖:

4.我們會發現鄉鎮天氣預報最為熱門,使用說明可以參閱https://opendata.cwb.gov.tw/devManual/insrtuction

5.首先您必須先申請帳號,https://pweb.cwb.gov.tw/CWBMEMBER3/register/authorization
註冊完成後,您會收到中央氣象局會員註冊確認信,點擊 成為正式會員 後,就可以登入氣象開放資料平台。

6.登入後選擇會員資訊中的API授權碼,https://opendata.cwb.gov.tw/user/authkey,您就可取得您的授權碼:



7.平台提供很好的測試介面,https://opendata.cwb.gov.tw/dist/opendata-swagger.html

8.我們來試試看第一個例子,點一下GET按鈕,再點Try it out,填入API授權碼,選擇南投縣,最後按下Excute鍵。

9.利用網址來讀取資料,
https://opendata.cwb.gov.tw/api/v1/rest/datastore/F-C0032-001?Authorization={your key}&format=JSON&locationName=%E5%8D%97%E6%8A%95%E7%B8%A3

10.接下來我們來看看台灣百香果故鄉-埔里的天氣。

11.在鄉鎮中填入埔里鎮,記得要按下Add item鍵。

12.最後按下執行Excute鈕

13.利用網址來取得資訊,https://opendata.cwb.gov.tw/api/v1/rest/datastore/F-D0047-023?Authorization={your key}&locationName=%E5%9F%94%E9%87%8C%E9%8E%AE

14.利用程式來取得百香果故鄉的氣象資料
1
2
3
4
5
6
7
8
9
import requests

r = requests.get(
'https://opendata.cwb.gov.tw/api/v1/rest/datastore/F-D0047-023?\
Authorization={your key}\
&locationName=%E5%9F%94%E9%87%8C%E9%8E%AE'
)

print(r.text)

執行結果:

15.利用https://jsoneditoronline.org/來看JSON結構。

16.程式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import requests
import json

r = requests.get(
'https://opendata.cwb.gov.tw/api/v1/rest/datastore/F-D0047-023?\
Authorization={your key}\
&locationName=%E5%9F%94%E9%87%8C%E9%8E%AE'
)

j = json.loads(r.text)
print(j["records"]["locations"][0]["location"][0]["locationName"])

執行結果:
延伸文章:https://passionfruittaiwan.blogspot.com/2020/05/micropythonopenweather.html

沒有留言:

張貼留言