Previsão do Tempo com Python Usando a API OpenWeather
Você quer aprender como fazer a previsão do tempo com Python? Hoje eu vou te mostrar como fazer isso com a API OpenWeather.
Para fazer a previsão do tempo com Python, use a API do OpenWeather: crie uma conta gratuita, gere uma chave de acesso e faça uma requisição com a biblioteca requests, informando a cidade. A API devolve um JSON com temperatura, umidade e condição do céu, que você lê e exibe direto no seu programa.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: A aula ensina a consultar a previsão do tempo em Python pela API do OpenWeather, da criação da conta até exibir a temperatura em Celsius. Você aprende a instalar requests, montar a URL com f-string e a chave da API, chamar requests.get(), ler o JSON como dicionário e converter Kelvin em Celsius.
Neste vídeo (25 min):
- 1:00 - Instalação da biblioteca
requestscompip install requestsno terminal - 2:00 - Criação da conta gratuita no OpenWeather e onde copiar a chave da API
- 5:00 - Documentação da API e cópia do link de requisição do tempo atual
- 6:00 - Montagem do link com f-string, trocando os campos entre chaves pelas variáveis
- 8:00 - Uso do parâmetro
qcom o nome da cidade no lugar de latitude e longitude - 10:00 -
import requestse a requisição feita comrequests.get() - 12:00 - Código de status da resposta e o que o
200quer dizer - 13:00 - Conversão do JSON de resposta em dicionário Python com
.json() - 17:00 - Extração da descrição do céu na lista
weather, no item de índice zero - 20:00 - Extração da temperatura na chave
temp, dentro do dicionáriomain - 21:00 - Conversão de Kelvin para Celsius subtraindo 273,15 e exibição formatada
- 23:00 - Parâmetro
lang=pt_brpara a descrição do tempo vir em português
Trechos do vídeo:
- O OpenWeather devolve a temperatura em Kelvin: para chegar ao Celsius, subtraia 273,15 do valor recebido.
- O código
200na resposta indica requisição bem-sucedida;404é endereço não encontrado e500, erro no servidor. - No JSON do OpenWeather,
weatheré uma lista de um item só, e a descrição do céu fica na chavedescriptiondele. - O parâmetro
lang=pt_brtraz a descrição do tempo em português sem alterar a estrutura do JSON devolvido.
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Previsão do tempo com Python
Você sabia que é possível fazer a previsão do tempo com Python? Nós podemos fazer isso utilizando uma API de previsão do tempo chamada OpenWeather!
Essa é uma API para previsão do tempo e ela te permite fazer algumas previsões muito interessantes utilizando o Python, quer aprender como fazer isso?
API OpenWeather
Hoje nós vamos utilizar a API de previsão do tempo chamada OpenWeather com o Python para poder fazer a nossa previsão do tempo.
Essa API OpenWeather é a maior API usada ao redor do mundo para fazer a previsão do tempo e previsão do clima!
OBS: Nós vamos utilizar para essa aula o editor de Python PyCharm, mas você pode utilizar outro editor de Python, mas é sempre bom acompanhar com o mesmo para facilitar!
Para esse projeto como estamos trabalhando com API no Python vamos precisar da Biblioteca Requests. Então basta escrever no terminal pip install requests para instalar a biblioteca.
Para poder utilizar a ferramenta OpenWeather é necessário um cadastro no site, mas pode ficar tranquilo que o cadastro é gratuito.

Basta clicar me Sign In, depois em Create na Account e criar sua conta. Depois de criar a conta já pode fazer o login no site para que possamos dar continuidade.

Logo no canto superior direito você vai ter a opção de My API Keys que é onde vamos clicar para gerar uma chave.
Essa chave é muito importante, pois ela é quem vai permitir a comunicação com o site para obter as informações desejadas.
Clicando em API você vai poder visualizar o que pode fazer com essa API, então pode escolher o que você precisa para o seu projeto.

Depois de encontrar o que precisa você vai clicar em API Doc, como já deve saber é MUITO IMPORTANTE ler a documentação das ferramentas, pois elas vão te explicar como você vai utilizar cada comando e cada código.
Agora nós vamos utilizar o seguinte código para conseguir obter a descrição e temperatura.
import requests
# link do open_weather: https://openweathermap.org/
API_KEY = "coloque sua API aqui"
cidade = "rio de janeiro"
link = f"https://api.openweathermap.org/data/2.5/weather?q={cidade}&appid={API_KEY}&lang=pt_br"
requisicao = requests.get(link)
requisicao_dic = requisicao.json()
descricao = requisicao_dic['weather'][0]['description']
temperatura = requisicao_dic['main']['temp'] - 273.15
print(descricao, f"{temperatura}ºC")Aqui você deve lembrar de inserir a sua chave da API e lembrar de não compartilhar com ninguém!
Depois vamos escolher a cidade, lembrando que pode utilizar a latitude e longitude (mas tudo isso está explicado na documentação).
IMPORTANTE: Tudo o que você precisa saber ou consultar pode olhar na documentação da API, pois vai ter tudo o que precisa para buscar as informações necessárias. Inclusive utilizamos a parte de tradução para português para que a descrição final seja em português.
Então trazendo a descrição e temperatura (já convertida para Celsius, pois a temperatura da API é dada em Kelvin) vamos ter o seguinte resultado.

Aqui temos que tempo está nublado e a temperatura é de 27°C. Agora você já pode inserir essas informações no seu projeto utilizando a API OpenWeather para fazer essa previsão do tempo.
Perguntas frequentes
1. O que é a API OpenWeather?
A OpenWeather é um serviço que fornece dados meteorológicos por meio de uma API: previsão do tempo, temperatura atual, umidade, vento e mais, para qualquer cidade do mundo. Você faz uma requisição HTTP com sua chave de acesso e recebe as informações em formato JSON, prontas para usar em programas Python e outras aplicações.
2. Como pegar dados do tempo de uma cidade com Python?
Monte a URL da API OpenWeather com o nome da cidade e sua chave de acesso, e faça a requisição com requests.get(url). Converta a resposta em dicionário com .json() e acesse os campos, como dados["main"]["temp"] para a temperatura. Assim você tem os dados do tempo em tempo real dentro do seu programa.
3. A API OpenWeather é gratuita?
A OpenWeather tem um plano gratuito que permite um número generoso de requisições por minuto e dá acesso ao tempo atual e à previsão de vários dias, o suficiente para aprender e criar projetos pessoais. Há planos pagos com mais recursos e volume, mas para estudar o gratuito atende bem.
4. Preciso de chave de API para usar o OpenWeather?
Sim. Depois de criar a conta na OpenWeather, você gera uma chave de acesso (API key) única, que autentica suas requisições. Ela vai na URL de cada chamada. Guarde-a em uma variável de ambiente, e não direto no código, para não expor sua chave ao compartilhar o projeto com outras pessoas.
Conclusão da Previsão do Tempo com Python
Nessa aula eu te mostrei como você pode fazer a previsão do tempo com Python utilizando a API OpenWeather que é muito utilizada no mundo todo.
Com ela e com a documentação você vai poder obter diversas informações de tempo e clima para inserir nos seus projetos.
Mas lembre sempre de ler a documentação para que você consiga saber quais as ferramentas e informações pode obter da API desejada!
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!


