Exemplo guiado

dafiti.com.br

Este é um caso difícil de e-commerce real. O modo automático acertou a ideia do schema, mas falhou sem selectorHint. Depois, uma revisão manual quase correta ainda errou o significado do campo nome. Só a terceira rodada fechou a planilha com qualidade real.

e-commerce difícilmodo automático com IAcaso difícil já superado

Objetivo

Extrair produtos para Excel

  • nome
  • preço
  • url

URL alvo:

www.dafiti.com.br/calcados-masculinos/

Por que é difícil

Categoria real, mas com card mais ruidoso

A grade da Dafiti não é um catálogo didático simples. O card mistura selo de desconto, favoritos, marca, nota, nome, preço e link em blocos diferentes. Isso torna o modo automático mais sensível a selectorHint ausente ou impreciso.

Mesmo em categoria estável, ainda foi necessário revisar os campos antes de gerar a planilha final na primeira categoria validada.

Nova validação

O automático já fechou sozinho em outra categoria Dafiti

Depois da implementação do resolvedor automático de seletores, o Intelbot foi testado em https://www.dafiti.com.br/bolsas-e-acessorios-infantis/ com o objetivo de extrair nome, preco e url para planilha.

Dessa vez, o fluxo automático fechou sozinho já na tentativa 1, com 12 linhas, qualidade healthy e sem necessidade de abrir o inspetor.

nome

div.product-box p.product-box-title

preço

div.product-box span.product-box-price-from

url

div.product-box a.product-box-link.is-lazyloaded.image

Isso não apaga a dificuldade do caso inicial, mas muda a leitura do produto: a Dafiti deixou de ser apenas um exemplo de falha do automático e passou a ser também uma evidência real de que o resolvedor automático já consegue fechar categorias difíceis de e-commerce.

Linha do tempo

O que falhou antes de dar certo

1. Primeira tentativa automática

O modo automático acertou o recorte lógico do schema com nome, preço e url, mas deixou selectorHint em branco.

Na execução, o Intelbot caiu em heurística, retornou só uma linha, usou o título da categoria como nome, a própria URL da categoria como url e preço nulo.

2. Primeira revisão manual

O selectorHint de nome foi salvo errado como .product-box-image em vez de .product-box-title.

A saída veio com 12 linhas, preços e urls corretos, mas o campo nome virou texto como -56% Favoritos. A qualidade estrutural saiu healthy, mas o significado do campo estava errado.

3. Revisão correta

O campo nome foi trocado para .product-box-title e o preço passou a usar um seletor composto para cobrir cards com e sem preço promocional.

A saída final ficou com 12 produtos, nome, preço e url corretos, e a planilha Excel saiu perfeita.

Como preencher

Schema final que funcionou

No modo da extração, use list. Depois, deixe só os três campos essenciais e preencha assim:

Nome do campo: nome

Tipo: string

Descrição: Nome do produto no card da listagem

Hint de seletor: .product-box-title

Nome do campo: preço

Tipo: number

Descrição: Preço final do produto no card da listagem

Hint de seletor: .product-box-price:has(.product-box-price-to) .product-box-price-to, .product-box-price:not(:has(.product-box-price-to)) .product-box-price-from

Nome do campo: url

Tipo: url

Descrição: URL do produto no card da listagem

Hint de seletor: .product-box-image > a

Como descobrir

Nome e URL

O nome do produto aparece em .product-box-title. O link do card fica em .product-box-image > a.

<div class="product-box-image"><a href="https://www.dafiti.com.br/Tenis-Masculino-Aramis-Daily-Slip-Canvas-Preto-11210605.html"></a></div><p class="product-box-title">Tênis Masculino Aramis Daily Slip Canvas Preto</p>

Não use .product-box-brand como nome. Na Dafiti esse seletor pega marca e nota, não o nome do produto.

Como descobrir

Preço

A Dafiti mistura cards com preço promocional e cards com preço único. Por isso, o seletor do preço precisou cobrir os dois formatos.

.product-box-price:has(.product-box-price-to) .product-box-price-to,.product-box-price:not(:has(.product-box-price-to)) .product-box-price-from

Esse seletor pega o preço final quando existe desconto e cai para o preço base quando o card não tem preço promocional.

Erros reais do teste

O que este caso ensinou

Não confiar só no schema lógico

Acertar nome, preço e url no papel não basta. Em e-commerce pesado, sem selectorHint o modo list pode colapsar para a própria página de categoria.

Não usar .product-box-brand como nome

Na Dafiti, esse seletor pega marca e nota, não o nome do produto.

Validar o significado do campo

Mesmo com qualidade healthy, um campo pode estar semanticamente errado. O caso clássico aqui foi nome vindo como desconto e Favoritos.

Qualidade

Como interpretar os sinais do Intelbot

Na primeira tentativa automática, o Intelbot marcou retry_recommended, o que foi correto: só uma linha, preço vazio e colapso para heurística da página inteira.

Na segunda tentativa, depois do selectorHint errado para nome, a qualidade saiu healthy, mas o campo ainda estava semanticamente errado. Isso mostra que qualidade estrutural não substitui revisão humana do significado do dado.

Resultado esperado

Quando considerar o caso resolvido

  • o retorno deve sair com 12 produtos reais da grade
  • nome deve vir como nome de produto, não marca, desconto ou favoritos
  • preço deve vir numérico em todos os itens
  • url deve abrir o produto certo
  • a planilha Excel deve sair limpa sem ajuste manual adicional

Hoje, na Dafiti, esse critério já foi alcançado em duas formas diferentes: com revisão manual em /calcados-masculinos e com resolução automática em /bolsas-e-acessorios-infantis.