Leads Migre: pipeline de prospecção com scraper + CNPJ + verificação de WhatsApp
Contexto#
Projeto pessoal de prospecção — uso interno pra abordar negócios locais. Nasceu de uma dor simples: lista de leads manual não escala e fica desatualizada rápido. A solução virou um pipeline completo, do scraping até a publicação.
Pipeline#
scraper (Google Maps, GuiaMais, Vivareal, Doctoralia)
│
▼
cruzamento com CNPJ da Receita Federal (filtro por município/bairro)
│
▼
confirmação de WhatsApp/Instagram/Facebook via site do próprio negócio
│
▼
build_release.py → dataset cumulativo (nunca perde cidade antiga, upsert por nome+cidade)
│
▼
release estática nova → symlink atômico → Docker (Caddy) serve, sem downtime
Decisões de arquitetura#
- Estático, sem banco de dados — cada publicação gera uma release nova e imutável; rollback é só reapontar o symlink
- Deploy atômico — a troca de release não tem downtime nem estado inconsistente
- Superfície de ataque mínima — a imagem Docker publicada não contém Python nem os scripts, só os arquivos estáticos já gerados
- Basic Auth sempre ativo — dado de contato de negócio não fica aberto publicamente
- 100% no servidor — coleta e publicação não dependem de nenhuma máquina local ligada
Score de qualificação#
Cada lead é pontuado (0–27) considerando telefone, WhatsApp (por formato e confirmado via site), email, site próprio, Instagram, Facebook, avaliações/nota no Google e CNPJ ativo — pra priorizar quem vale a pena abordar primeiro.
Tecnologias#
Python · Docker · Caddy · Receita Federal (dados abertos de CNPJ) · Apify