Como utilizar python para analizar dados da NASA e mostrar asteroides mais proximos da Terra!
Bom Dia! Tudo Bem? Hoje vou mostrar para vocês como usar Python para pegar dados da NASA, analisá-los e mostrar quais asteroides estão mais próximos da Terra.
Primeiros Passos
Inicialmente, precisamos instalar algumas bibliotecas.
-
Requests: É uma biblioteca em Python que nos permite realizar requisições HTTP de maneira simples. Para instalá-la, basta abrir o terminal e digitar o comando pip
install requests
. -
JSON: Essa biblioteca irá nos ajudar a trabalhar com os dados retornados pela NASA, que são em formato JSON. Para instalá-la, basta digitar o comando
pip install json
.
O Código
O código começa importando as bibliotecas necessárias, como a da NASA para acessar seus dados e uma de análise de dados para analisar os dados. Em seguida, pode-se definir as variáveis, como a data atual ou o raio de distância para a Terra, para usar na análise. Em seguida, usa-se as funções dessas bibliotecas para acessar os dados da NASA e filtrá-los de acordo com as variáveis definidas. Por fim, é possível imprimir ou exibir os resultados da análise, mostrando quais asteroides estão mais próximos da Terra.
OBS: Você pode alterar o número de asteroides que serão exibidos.
import requests
import json
# Fazendo uma requisição na API da NASA
url = 'https://api.nasa.gov/neo/rest/v1/feed?start_date=2020-07-15&end_date=2020-07-22&api_key=DEMO_KEY'
response = requests.get(url)
data = json.loads(response.text)
# Armazenando os dados dos asteroides
asteroids = data['near_earth_objects']
# Inicializando uma lista para armazenar os asteroides mais próximos
closest_asteroids = []
# Percorrendo cada dia
for day in asteroids:
# Percorrendo cada asteroide
for asteroid in asteroids[day]:
# Armazenando o nome e a distância do asteroide em quilômetros
name = asteroid['name']
distance = asteroid['close_approach_data'][0]['miss_distance']['kilometers']
closest_asteroids.append((name, distance))
# Ordenando a lista de asteroides mais próximos pelo menor valor de distância
closest_asteroids.sort(key=lambda x: x[1])
# Imprimindo os 10 asteroides mais próximos
for i in range(10):
print(closest_asteroids[i][0], closest_asteroids[i][1], 'km')
Até Mais!