Todos os posts

Agregação de Avaliações de Produtos para Sentimento em Escala

As avaliações vivem atrás de renderizações em JS, paginação e barreiras anti-bot. Aqui está o que um pipeline de agregação precisa para alimentar um modelo de sentimento com dados relevantes.

O Desafio

As marcas de consumo não podem mais confiar no painel de avaliações de um único marketplace. O mesmo SKU carrega uma nota de avaliação na Amazon, outra no Walmart, uma terceira na Best Buy, e ainda outra no Trustpilot ou na própria loja Shopify da marca. Se a sua equipe de produto, modelo de sentimento ou fila de operações de CX vê apenas um desses canais, você está dirigindo olhando para um espelho quebrado.

Essa é a versão cotidiana do problema das avaliações: a fragmentação. As avaliações existem, mas vivem atrás de dez logins diferentes, dez pilhas de renderização diferentes e dez posturas anti-bot diferentes. Para alimentar um classificador de sentimento semanalmente (ou para disparar um alerta quando uma avaliação ruim surge em um anúncio principal), você precisa de todas elas, atualizadas, em um só lugar.

Agregá-las é um problema de renderização antes de ser um problema de dados. E a maioria das equipes subestima o tamanho dessa primeira metade.

O Que Torna Isso Difícil

Uma página de avaliações em 2026 não se parece em nada com uma página de avaliações em 2018. Tudo o que importa é carregado após o HTML inicial:

  • A própria lista de avaliações é buscada via JSON depois que o navegador renderiza o shell.
  • Páginas mais profundas (Mostrar mais avaliações, paginação) exigem que a sessão carregue os cookies corretos e, frequentemente, uma interação de rolagem também.
  • Filtros de ordenação (mais recentes, apenas verificadas) alteram a assinatura da request. Erre um deles e o marketplace servirá a visualização padrão com um rate limit sutil por cima.
  • Toda a página fica atrás de defesas contra bots que inspecionam a assinatura de baixo nível da request, a ordem dos headers e o tempo de resposta antes mesmo de olharem para o User-Agent.

Busque essa página com uma request HTTP simples e você obterá o shell vazio (sem avaliações, sem veredito). Busque-a com um navegador headless configurado por você mesmo e você herdará o custo contínuo de manter esse navegador, rotacionar saídas e aplicar patches contra novas regras de detecção toda vez que um marketplace lançar uma atualização anti-bot.

A Solução

O padrão que funciona é uma busca baseada em navegador que você pode chamar como um único endpoint de API. Você passa a URL da avaliação. Ele renderiza a página, executa o JavaScript, aguarda o payload de avaliações hidratar e devolve o DOM para você. Os detalhes da sessão vêm com a response, para que a próxima busca paginada possa reutilizá-los.

Com o produto Browser da FourA, o código em Python fica assim:

import requests

def fetch_reviews(url, api_key, sticky_proxy=None):
    body = {
        "url": url,
        "unblocker": True,
    }
    if sticky_proxy:
        body["proxy"] = sticky_proxy

    r = requests.post(
        "https://api.foura.ai/api/browser",
        headers={"Authorization": f"Bearer {api_key}"},
        json=body,
        timeout=60,
    ).json()

    return {
        "status": r.get("status"),
        "html": r.get("body"),
        "cookies": r.get("cookies"),
        "sticky_proxy": r.get("proxy"),
        "defense_solved": r.get("defenseSolved"),
    }

Dois detalhes são importantes para o scraping de avaliações.

Primeiro, o unblocker: true lida com as defesas no nível da rede que protegem a maioria das páginas de avaliação dos marketplaces. Sem ele, você recebe uma página de desafio em vez das avaliações.

Segundo, o valor de proxy retornado é o ID em base36 da saída que obteve a renderização bem-sucedida. Envie-o de volta na próxima chamada para o mesmo produto e a paginação tratará você como o mesmo visitante. Portanto, a diferença entre a página 1 carregar normalmente e a página 3 retornar silenciosamente nada muitas vezes se resume a você ter fixado a sessão ou não.

Para produtos onde você só precisa de um snapshot semanal atualizado das 20 principais avaliações, pule a persistência e deixe que cada chamada escolha sua própria saída. Salve a fixação de sessão para os SKUs onde a paginação profunda realmente importa.

Resultados Esperados

Uma equipe que executa a agregação de avaliações com base nesse padrão deve pensar nestes termos:

  • Cobertura: avaliações de todos os produtos de cada marketplace onde você vende, atualizadas na frequência que o seu downstream precisar, desde diariamente para alertas de CX até semanalmente para análise de tendências.
  • Profundidade: as primeiras 3 a 5 páginas de avaliações por SKU por marketplace, que é onde reside o sinal acionável. O restante após a página 5 é majoritariamente ruído para fins de análise de sentimento.
  • Atualização: novas avaliações chegam ao seu pipeline de sentimento em até um dia após serem publicadas, e não duas semanas depois, quando uma exportação mensal é executada.
  • Previsibilidade de custos: você paga por busca renderizada, de modo que o orçamento escala com o número de SKUs de seu interesse, e não com o tamanho da equipe que você precisaria para manter os navegadores.

Esses não são números mágicos. É o que você obtém quando a metade do problema relacionada à renderização é tirada das costas da sua equipe.

Se você estiver comparando isso com uma pilha completa de monitoramento de marketplace, a agregação de avaliações é a versão focada em sentimento. O mesmo poder de renderização, mas com um downstream diferente.

Ponto-Chave

Cada painel que sua marca analisa termina em um gráfico. Mas o gráfico está no downstream. O custo no upstream (a razão pela qual a maioria das marcas não faz isso bem) é a frota de renderização: manter 15 superfícies de marketplaces acessíveis, ativas contra defesas que foram construídas para impedir sua entrada, a um preço que não custe três engenheiros mais um contrato de proxy.

Se a metade da renderização é o que está bloqueando seu projeto de agregação de avaliações, essa é a parte que você deve comprar. O modelo de sentimento, o painel, os alertas, essas são as partes que sua equipe pode construir em uma tarde assim que as avaliações atualizadas começarem a chegar.