import requests
import json
def obter_dados_sismicos(id_area):
try:
# Fazendo a requisição à API
resposta = requests.get(url)
resposta.raise_for_status() # Verifica se houve algum erro na requisição
# Decodificando o JSON recebido
dados = resposta.json()
# Exibindo os dados formatados
print(json.dumps(dados, indent=4, ensure_ascii=False))
# Processando e retornando os dados
return dados
except requests.exceptions.RequestException as e:
print(f"Erro ao obter dados: {e}")
return None
def processar_dados_sismicos(dados):
if not dados or 'data' not in dados:
print("Nenhum dado sísmico disponível.")
return
for evento in dados['data']:
time = evento.get("time", "N/A")
local = evento.get("local", "N/A")
lat = evento.get("lat", "N/A")
lon = evento.get("lon", "N/A")
magnitude = evento.get("magnitud", "N/A")
profundidade = evento.get("depth", "N/A")
regiao = evento.get("obsRegion", "N/A")
print(f"Data e Hora: {time}")
print(f"Local: {local}")
print(f"Região de Observação: {regiao}")
print(f"Latitude: {lat}")
print(f"Longitude: {lon}")
print(f"Magnitude: {magnitude}")
print(f"Profundidade: {profundidade} km")
print("-" * 40)
# Loop até que o usuário insira uma área válida (3 ou 7)
while True:
try:
id_area = int(input("Digite a área de interesse: [3] para Açores e [7] para Continente e Madeira: "))
if id_area in [3, 7]:
break
else:
print("Entrada inválida. Por favor, insira 3 para Açores ou 7 para Continente e Madeira.")
except ValueError:
print("Entrada inválida. Por favor, insira um número inteiro válido.")
# Obtendo os dados sísmicos
dados_sismicos = obter_dados_sismicos(id_area)
# Processando os dados obtidos
if dados_sismicos:
processar_dados_sismicos(dados_sismicos)