Web scraping em escala: arquitetura, anti-bloqueio e boas práticas
Coletar dados de poucos sites é fácil. O desafio aparece quando o volume cresce, os alvos mudam de layout toda semana e aparecem captcha, login obrigatório e bloqueio por IP. Este guia resume a arquitetura que uso em produção para scraping confiável e sustentável.
1. Separe coleta, parsing e entrega
Um erro comum é misturar tudo num script só. Separe em três estágios independentes:
- Coleta: baixa o HTML/JSON bruto e armazena cru (S3/objeto). Se o parser quebrar amanhã, você reprocessa sem recoletar.
- Parsing: transforma o bruto em dados estruturados. Versionado — mudou o site, você ajusta só aqui.
- Entrega: normaliza e grava em CSV/JSON/banco, com schema estável para quem consome.
2. Escolha a ferramenta certa por alvo
Nem todo site precisa de browser headless. Custo de CPU e tempo importam:
- HTTP + parser (httpx + selectolax/BeautifulSoup): para HTML servido no servidor. Rápido e barato.
- Browser headless (Playwright): só quando o conteúdo depende de JavaScript ou interação. Caro — use com moderação.
- API de scraping (Zyte): quando o anti-bot é agressivo e você quer terceirizar rotação de IP e renderização.
3. Anti-bloqueio ético
O objetivo não é "burlar tudo", é parecer um cliente legítimo e respeitar limites:
- Respeite
robots.txte rate limits razoáveis (concorrência controlada, backoff exponencial). - Rotação de IP e user-agents reais; reuse sessões/cookies quando fizer sentido.
- Cache agressivo: nunca recolete o que já tem. Menos requisições = menos bloqueio.
4. Observabilidade desde o dia 1
Pipeline de scraping sem métricas é uma bomba-relógio. Monitore taxa de sucesso por domínio, latência, itens extraídos vs esperados e alerta quando o parser começa a retornar campos vazios — sinal claro de que o site mudou.
# Pseudocódigo do laço de coleta resiliente
for url in queue:
raw = fetch(url, retries=3, backoff=exponential)
store_raw(raw) # idempotente
record_metric("fetch_ok", domain(url))
5. Entrega que o cliente confia
Dados normalizados, deduplicados e com schema documentado. Logs de auditoria (quando coletou, de onde) viram diferencial em contextos jurídico e financeiro.
Caso real: monitoramento diário de andamentos processuais em portais de tribunais — pipeline resiliente com alerta em tempo real para advogados, rodando há meses sem intervenção manual.
Precisa de coleta de dados confiável para o seu negócio? Veja os serviços ou fale comigo.
Precisa automatizar ou coletar dados?
Diagnóstico gratuito de 30 min — sem compromisso.
Automação com n8n: do gatilho ao deploy em produção
Como sair do "funciona na minha máquina" e levar workflows n8n para produção: design de gatilhos, tratamento de erro, idempotência, segredos e deploy confiável.
n8n vs Zapier vs Make: qual ferramenta de automação escolher
Comparação prática entre n8n, Zapier e Make (Integromat): custo, flexibilidade, self-hosting, limites e quando cada uma faz sentido para o seu negócio.