import requests
def obter_previsao_diaria(globalIdLocal):
url = f"https://api.ipma.pt/open-data/forecast/meteorology/cities/daily/{globalIdLocal}.json"
try:
response = requests.get(url)
response.raise_for_status() # Raise an error for bad status codes
dados = response.json()
return dados
except requests.RequestException as e:
print(f"Erro ao obter a previsão meteorológica: {e}")
return None
def exibir_previsao(cidade, globalIdLocal):
dados_previsao = obter_previsao_diaria(globalIdLocal)
if dados_previsao:
print(f"\nPrevisão Meteorológica para {cidade} (Global ID {globalIdLocal}):")
print(f"Data de Atualização: {dados_previsao['dataUpdate']}")
for previsao in dados_previsao.get('data', []):
forecast_date = previsao.get("forecastDate", "Desconhecido")
t_min = previsao.get("tMin", "Desconhecido")
t_max = previsao.get("tMax", "Desconhecido")
wind_dir = previsao.get("predWindDir", "Desconhecido")
precip_prob = previsao.get("precipitaProb", "Desconhecido")
print(f"Data: {forecast_date}")
print(f"Temperatura Mínima: {t_min} °C")
print(f"Temperatura Máxima: {t_max} °C")
print(f"Direção do Vento: {wind_dir}")
print(f"Probabilidade de Precipitação: {precip_prob} %")
print("------------------------")
else:
print(f"Nenhum dado de previsão meteorológica disponível para {cidade}.")
# Global IDs para Porto e Braga
globalIdLocal_porto = 1131200
globalIdLocal_braga = 1171400
# Exibe a previsão meteorológica para Porto
exibir_previsao("Porto", globalIdLocal_porto)
# Exibe a previsão meteorológica para Braga
exibir_previsao("Braga", globalIdLocal_braga)