0Pricing
Learn AI with Python · Aula

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 shell

OpenWeatherMap — 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-Agent que 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, appid e units, 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

  1. Fundamentos de APIs REST para coleta de dados
  2. Paginação e coleta de grandes conjuntos de dados
  3. Armazenando dados coletados com eficiência
  4. Trabalhando com APIs de dados públicos
← Voltar para Learn AI with Python