SmartHub AppsMáquina de aquisição

P5.1 · Radar de Preço sobre o Firecrawl

Depende de P1.1. Skill: `/firecrawl-ecomsmart`.

O que mudou

O cluster já tem Firecrawl self-hosted em firecrawl.ecomsmart.com.br, namespace firecrawl, com Basic Auth, deployado por Helm e pipeline próprio.

Não construa motor de crawl. O que fica do nosso lado é só o que é específico do produto: descoberta de seletor, conversão de preço, agendamento, teto de orçamento e antiflood.

O prompt

Leia a skill /firecrawl-ecomsmart. Implemente o Radar de Preço no app preco, usando o Firecrawl como camada de coleta.

1. Modelos

2. Cliente do Firecrawl

Módulo preco/firecrawl.py:

POST https://firecrawl.ecomsmart.com.br/v2/scrape
Basic Auth (credenciais no Secret radar-firecrawl)
{"url": "...", "formats": ["html", "markdown"], "timeout": 60000}

Cuidados obrigatórios, todos justificados pela skill:

3. Descoberta de seletor

O lojista cola a URL do concorrente e o preço que ele está vendo. O sistema descobre sozinho como extrair:

  1. Busca o valor no HTML retornado e deriva um seletor estável
  2. Ordem de estratégia: JSON-LD → microdata → meta tags → seletor CSS derivado. JSON-LD é o mais estável; tente sempre primeiro
  3. Use price-parser (scrapinghub/price-parser) para converter "R$ 1.299,90" em Decimal e moeda. Não escreva regex própria

Marketplaces têm extratores dedicados por domínio — Mercado Livre, Shopee, Amazon e Magalu não caem no genérico.

4. Agendamento e teto

planejar_coletas() de hora em hora:

Essencial (R$ 97/ano): 30 SKUs x 3 concorrentes x 1x/dia  =    90 req/dia
Pro (R$ 49/mes):      200 SKUs x 10 concorrentes x 4x/dia = 8.000 req/dia

5. Proxies

O Firecrawl resolve renderização, não resolve bloqueio por IP. Camada de proxy plugável em preco/proxies.py, com rotação, provedor residencial configurável por env, e interface que permite trocar de provedor mudando uma classe.

Educação: respeitar robots.txt em site próprio, nunca burlar login ou captcha, intervalo mínimo de 3 s por domínio, user-agent identificável com URL de contato.

6. Observabilidade

radar_coletas_total{status,fonte}
radar_coleta_duracao_segundos
radar_firecrawl_falhas_total
radar_proxy_custo_estimado_centavos
radar_monitoramentos_ativos

Dashboard no Grafana com taxa de sucesso por domínio e custo estimado por dia.

Critérios de aceite

  1. 20 páginas de produto reais em fixture (sites BR variados, Mercado Livre, Shopee): 17 ou mais preços extraídos corretamente
  2. Teste do teto: plano Essencial bloqueia a requisição 91 do dia
  3. Teste do intervalo mínimo por domínio sob concorrência
  4. Teste do fallback quando o Firecrawl retorna 5xx
  5. Rodada real de 100 coletas com taxa de sucesso e tempo médio
  6. Dashboard no Grafana com dados reais

Se o custo estimado de proxy por cliente Essencial passar de R$ 3 por mês, pare e me avise — a economia do produto não fecha.

© 2026 EcomSmart · Uso interno · pt-BR