iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 12
0
Modern Web

用 Python 玩 PDF,結合Django 變成一個網頁系統系列 第 12

[Day 12] 抓取天氣資料API(requests)

  • 分享至 

  • xImage
  •  

今天來說抓取天氣資料,這裡要用到一個套件,requests,這是用來call api,送請求到伺服器,伺服器會回傳資料。

安裝pip3 install requests

$ pip3 install requests

authorization 輸入申請的授權碼
程式碼

import requests
authorization = "xxxx"
url = "https://opendata.cwb.gov.tw/api/v1/rest/datastore/F-D0047-061"
res = requests.get(url, {"Authorization": authorization})
resJson = res.json()
print(resJson)

這樣就會看到結果,是回傳json格式

可以用一些json閱讀器,轉成好看的樣子,或是看說明文件,看資料的結構,不過資料滿多的,這邊先抓溫度,資料有台北市各區三天間隔三小時的溫度資料。
透過文件看到"T"是溫度

欄位說明

程式碼

locations = resJson["records"]["locations"][0]["location"]
for location in locations:
    print(location["locationName"])
    weatherElements = location["weatherElement"]
    for weatherElement in weatherElements:
        if weatherElement["elementName"] == "T":
            timeDicts = weatherElement["time"]
            for timeDict in timeDicts:
                print(timeDict["dataTime"], timeDict["elementValue"][0]["value"], timeDict["elementValue"][0]["measures"])

結果 萬華區


參考資料:

如果有任何寫得不好的地方,請跟我說,謝謝。


上一篇
[Day 11] 天氣資料API
下一篇
[Day 13] PDF表格應用
系列文
用 Python 玩 PDF,結合Django 變成一個網頁系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言