時間:2023/10/08 20:30 ~ 2023/10/09 00:00
地點:線上會議(Discord)
參與:xiaojie4082、wei、StarLeisure、SmingXO
https://opendata.cwa.gov.tw/api/v1/rest/datastore/F-C0032-001?Authorization=授權碼&locationName=%E8%87%BA%E4%B8%AD%E5%B8%82
https://opendata.cwa.gov.tw/api/v1/rest/datastore/F-D0047-075?Authorization=授權碼&limit=5&format=JSON
https://opendata.cwa.gov.tw/fileapi/v1/opendataapi/F-C0032-021?Authorization=授權碼&downloadType=WEB&format=JSON
https://opendata.cwa.gov.tw/api/v1/rest/datastore/W-C0033-001?Authorization=授權碼&locationName=%E8%87%BA%E4%B8%AD%E5%B8%82
import requests
# 設定 API 參數
api_url = "https://opendata.cwa.gov.tw/api/v1/rest/datastore/F-C0032-001?Authorization=授權碼&locationName=%E8%87%BA%E4%B8%AD%E5%B8%82"
# 發送請求
response = requests.get(api_url)
# 解析回應
data = response.json()
# 建立陣列
weather_data = []
# 遍歷資料
for location in data["records"]["location"]:
# 建立一個新的物件
weather = {}
weather["locationName"] = location["locationName"]
# 遍歷天氣要素
for weather_element in location["weatherElement"]:
# 將天氣要素存入物件
weather[weather_element["elementName"]] = weather_element["time"][0]["parameter"]
# 將物件加入陣列
weather_data.append(weather)
# 印出陣列
print(weather_data)
weather = [{'locationName': '臺中市',
'Wx': {'parameterName': '多雲', 'parameterValue': '4'},
'PoP': {'parameterName': '20', 'parameterUnit': '百分比'},
'MinT': {'parameterName': '27', 'parameterUnit': 'C'},
'CI': {'parameterName': '舒適至悶熱'},
'MaxT': {'parameterName': '29', 'parameterUnit': 'C'}
}]
#輸出'locationName'的資料
print(weather_data[0]["locationName"])
#輸出'Wx'中'parameterName'的資料
print(weather_data[0]["Wx"]["parameterName"])
#輸出'PoP'中'parameterName'的資料
print(weather_data[0]["PoP"]["parameterName"])
Wx_icon_url = {
"多雲": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/67aaf9dbe30989c25cbde6c6ec099213.png",
"晴時多雲": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/67aaf9dbe30989c25cbde6c6ec099213.png",
"晴朗": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/575900edccbc7def167f7874c02aeb0b.png",
"陰天": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/66117fab0f288a2867b340fa2fcde31b.png",
"小雨": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/a55fef55bbeb0762a8dd329b4b8ad342.png",
"陣雨": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/4417bf88c7bbcd8e24fb78ee6479b362.png",
"雷陣雨": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/efffb1e26f6de5bf5c8adbd872a2933a.png",
"小雪": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/00171e3b54b97dee8c1a2f6a62272640.png",
"陣雪": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/e95fb90fc5a4aac111be78770921beb1.png",
"雷陣雪": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/efffb1e26f6de5bf5c8adbd872a2933a.png",
"濃霧": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/d35bb25d12281cd9ee5ce78a98cd2aa7.png",
"大雷雨": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/efffb1e26f6de5bf5c8adbd872a2933a.png",
"大雨": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/451d37e6cea3af4a568110863a1adcf7.png",
"豪雨": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/451d37e6cea3af4a568110863a1adcf7.png",
"暴風雨": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/451d37e6cea3af4a568110863a1adcf7.png",
"風雪": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/e95fb90fc5a4aac111be78770921beb1.png",
"冰雹": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/9189cb49e806d1ebfeed24f33367143c.png",
"霾": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/73ae8300a30e895e3739cd50ade0dfe1.png",
"沙塵暴": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/ad9e41c68b6a2671d2bcd843be1baa86.png",
"乾燥": "https://help.apple.com/assets/64067987823C71654C27CD1A/64067990823C71654C27CD47/zh_TW/ad9e41c68b6a2671d2bcd843be1baa86.png"
}
embed=discord.Embed(title="天氣資訊 (沙鹿區)", description="晴時多雲,午後局部短暫雷陣雨,外出活動留意天氣變化", color=0xffffff)
embed.set_thumbnail(url="https://ssl.gstatic.com/onebox/weather/64/partly_cloudy.png")
embed.add_field(name="天氣狀況", value="多雲", inline=True)
embed.add_field(name="最高低溫", value="27 ~ 29 °C", inline=True)
embed.add_field(name="降雨機率", value="20 %", inline=True)
embed.add_field(name="體感狀態", value="舒適至悶熱", inline=True)
embed.set_footer(text="資料來源:https://opendata.cwa.gov.tw/")
await ctx.send(embed=embed)
embed=discord.Embed(title="天氣資訊 (沙鹿區)", description=info, color=0xffffff)
embed.set_thumbnail(url=url)
embed.add_field(name="天氣狀況", value=weather[0]["Wx"]["parameterName"], inline=True)
embed.add_field(name="最高低溫", value=weather[0]["MinT"]["parameterName"] + " ~ " + weather[0]["MaxT"]["parameterName"] + " °C", inline=True)
embed.add_field(name="降雨機率", value=weather[0]["PoP"]["parameterName"] + " %", inline=True)
# embed.add_field(name="體感狀態", value=weather[0]["CI"]["parameterName"], inline=False)
embed.set_footer(text="資料來源:https://opendata.cwa.gov.tw/")
討論共筆
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up