🌐 Web scraping com requests+bs4
O combo requests + BeautifulSoup e o padrao Python para extrair dados de paginas web. Peca ao Claude Code: "scrape os titulos e precos desta pagina" e ele gera o script completo com selectors CSS, tratamento de erros e rate limiting.
import requests
from bs4 import BeautifulSoup
import time
def scrape_titles(url: str) -> list[str]:
resp = requests.get(url, timeout=10)
resp.raise_for_status()
soup = BeautifulSoup(resp.text, "html.parser")
return [h.text.strip() for h in soup.select("h2.title")]
urls = ["https://example.com/page/1", "https://example.com/page/2"]
for url in urls:
print(scrape_titles(url))
time.sleep(1) # rate limiting
Em 1 frase: requests + BeautifulSoup = dados da web em poucas linhas.
📁 File processing em massa
Renomear 500 arquivos, converter formatos em lote, extrair metadados. Com pathlib e shutil, Python processa centenas de arquivos no tempo que voce levaria para fazer 5 manualmente. Claude Code gera esses scripts sob demanda.
from pathlib import Path
src = Path("./downloads")
for i, f in enumerate(sorted(src.glob("*.jpg")), 1):
new_name = f"photo_{i:04d}{f.suffix}"
f.rename(f.parent / new_name)
print(f" {f.name} -> {new_name}")
Em 1 frase: pathlib + glob = processar centenas de arquivos num loop.
🔄 Data transforms (CSV/JSON)
Converter CSV para JSON, filtrar linhas, agregar dados. Os modulos csv e json da stdlib resolvem 90% dos casos. Para transformacoes mais complexas, pandas e o canivete suico.
Em 1 frase: csv.DictReader + json.dump = pipeline de dados em Python puro.
⏰ Scheduling com cron
Automacao real significa rodar sem intervencao. O cron (Linux/macOS) agenda scripts para rodar em horarios fixos. Para tarefas mais complexas, systemd timers oferecem logging e retry automaticos.
# Rodar todo dia as 6h 0 6 * * * /home/user/.venv/bin/python /home/user/scripts/scrape.py >> /tmp/scrape.log 2>&1 # Rodar a cada 30 minutos */30 * * * * /home/user/.venv/bin/python /home/user/scripts/check.py
Em 1 frase: cron = seu script rodando sozinho no horario certo, todo dia.
🔌 APIs de terceiros
Scripts poderosos conectam servicos: GitHub API para repos, Slack para notificacoes, Stripe para pagamentos. Com requests e headers de autenticacao, voce integra qualquer API REST. Claude Code conhece os endpoints de APIs populares e gera o codigo de integracao.
Em 1 frase: requests + auth headers = integracao com qualquer servico.
🛡️ Error handling robusto
Scripts de producao precisam de try/except bem pensado, logging estruturado e retries para falhas transientes. A biblioteca tenacity simplifica retries com backoff exponencial. Peca ao Claude Code: "adicione error handling robusto a este script".
import logging
from tenacity import retry, stop_after_attempt, wait_exponential
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s")
log = logging.getLogger(__name__)
@retry(stop=stop_after_attempt(3), wait=wait_exponential(min=1, max=10))
def fetch_data(url: str) -> dict:
log.info(f"Fetching {url}")
resp = requests.get(url, timeout=10)
resp.raise_for_status()
return resp.json()
Em 1 frase: try/except + logging + retries = scripts que nao morrem em silencio.
🧾 Resumo do Modulo
Proximo modulo:
5.3 — FastAPI e Web Services: de script a API profissional.