Trabalhando com APIs de dados públicos
OpenWeatherMap, Wikipedia e APIs governamentais públicas — exemplos práticos de coleta de dados.
Trabalhando com APIs de dados públicos é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.
Praticando com APIs públicas
A melhor maneira de aprender a coletar dados é consultar APIs reais. Nesta lição, você usará três APIs fáceis de usar:
- JSONPlaceholder — uma API REST fictícia para praticar, sem necessidade de chave
- OpenWeatherMap — dados meteorológicos reais, com chave de API gratuita
- Wikipedia API — conteúdo e pesquisa de artigos
JSONPlaceholder para praticar
JSONPlaceholder fornece publicações, usuários e comentários fictícios sem autenticação. É perfeito para testar seu código de solicitações e análise.
import requests
resp = requests.get("https://jsonplaceholder.typicode.com/posts", timeout=10)
resp.raise_for_status()
posts = resp.json()
print(len(posts), "posts")
print(posts[0]["title"])Da resposta ao fluxo com DataFrame
O fluxo padrão é: buscar o JSON e carregá-lo diretamente em um DataFrame para análise.
import pandas as pd
posts = requests.get("https://jsonplaceholder.typicode.com/posts", timeout=10).json()
df = pd.DataFrame(posts)
print(df.head())
print(df["userId"].value_counts())OpenWeatherMap — obtendo uma chave
OpenWeatherMap exige uma chave de API gratuita, passada como o parâmetro appid. Não deixe as chaves no código: leia-as de uma variável de ambiente.
import os
API_KEY = os.environ["OWM_API_KEY"] # set OWM_API_KEY in your shellOpenWeatherMap — parâmetros da consulta
O endpoint de clima atual recebe q (cidade), appid (chave) e units (métrico/imperial).
import requests, os
params = {
"q": "Istanbul",
"appid": os.environ["OWM_API_KEY"],
"units": "metric",
}
resp = requests.get("https://api.openweathermap.org/data/2.5/weather", params=params, timeout=10)
resp.raise_for_status()
data = resp.json()Extraindo campos JSON aninhados
As respostas de APIs reais são profundamente aninhadas. Acesse os dados usando chaves encadeadas e use .get() com valores padrão para campos que podem estar ausentes.
temp = data["main"]["temp"]
humidity = data["main"]["humidity"]
desc = data["weather"][0]["description"]
print(f"{temp} C, {humidity}% humidity, {desc}")Coletando o clima de várias cidades
Percorra as cidades em um laço, achate os campos de que precisa em uma lista de dicionários e depois crie um DataFrame.
cities = ["Istanbul", "London", "Tokyo"]
rows = []
for c in cities:
p = {"q": c, "appid": os.environ["OWM_API_KEY"], "units": "metric"}
d = requests.get("https://api.openweathermap.org/data/2.5/weather", params=p, timeout=10).json()
rows.append({"city": c, "temp": d["main"]["temp"], "desc": d["weather"][0]["description"]})
import pandas as pd
df = pd.DataFrame(rows)A API da Wikipedia
A Wikipedia API disponibiliza pesquisa e conteúdo de artigos. Ela espera action e format=json, além de um cabeçalho User-Agent descritivo.
params = {
"action": "query",
"list": "search",
"srsearch": "machine learning",
"format": "json",
}
headers = {"User-Agent": "data-collector/1.0 (you@example.com)"}
resp = requests.get("https://en.wikipedia.org/w/api.php", params=params, headers=headers, timeout=10)
results = resp.json()["query"]["search"]Buscando introduções de artigos
Use prop=extracts com exintro=True para buscar o parágrafo introdutório de um artigo — algo útil para criar conjuntos de dados de texto.
params = {
"action": "query",
"prop": "extracts",
"exintro": True,
"explaintext": True,
"titles": "Artificial intelligence",
"format": "json",
}
resp = requests.get("https://en.wikipedia.org/w/api.php", params=params, timeout=10)
pages = resp.json()["query"]["pages"]
for pid, page in pages.items():
print(page["extract"][:300])Lendo a documentação de APIs
Cada API é diferente. Antes de programar, leia na documentação: a URL base, os parâmetros obrigatórios, o método de autenticação, o formato da resposta e os limites de requisições.
Teste uma solicitação interativamente, inspecione resp.json() e depois crie seu laço com base na estrutura real.
Usando APIs de forma responsável
As APIs públicas são recursos compartilhados. Respeite-as:
- Envie um
User-Agentque identifique sua aplicação - Armazene os resultados em cache para não buscar os mesmos dados novamente
- Aguarde entre as solicitações e respeite os limites de requisições
- Leia e siga os termos de uso de cada API
Verificação rápida: API de prática
Você quer testar seu código de solicitação e análise sem se cadastrar para obter uma chave de API.
Recapitulação: APIs de dados públicos
Você praticou a coleta de dados de APIs reais:
- JSONPlaceholder para praticar sem autenticação
- OpenWeatherMap com os parâmetros
q,appideunits, além de uma chave obtida do ambiente - Wikipedia API para pesquisar e extrair introduções de artigos
- O fluxo de buscar dados e carregá-los em um DataFrame, além de como acessar JSON aninhado
- Boas práticas de uso: User-Agent, cache, limites de requisições e termos de uso
Isso conclui a coleta de dados. Próximo: expressões regulares para IA de texto.
Perguntas Frequentes
A aula “Trabalhando com APIs de dados públicos” é grátis?
Sim — o texto completo de “Trabalhando com APIs de dados públicos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.
O que vou aprender em “Trabalhando com APIs de dados públicos”?
OpenWeatherMap, Wikipedia e APIs governamentais públicas — exemplos práticos de coleta de dados. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Learn AI with Python?
Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Trabalhando com APIs de dados públicos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Learn AI with Python?
Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Fundamentos de APIs REST para coleta de dados
- Paginação e coleta de grandes conjuntos de dados
- Armazenando dados coletados com eficiência
- Trabalhando com APIs de dados públicos