🎯 Um navegador em nuvem personalizável e anti-detecção alimentado por Chromium desenvolvido internamente, projetado para rastreadores web e agentes de IA. 👉Experimente agora
De volta ao blog

Como Monitorar o Sentimento da Marca em Motores de Resposta de IA

James Thompson
James Thompson

Scraping and Proxy Management Expert

29-Jun-2026

TL;DR:

  • O sentimento da marca em respostas de IA é um sinal diferente do compartilhamento de citações. Ser citado diz que uma fonte foi utilizada; o sentimento diz como sua marca é descrita na resposta que um comprador realmente lê — e os dois podem discordar.
  • Um prompt, cada motor, um envelope. Os atores LLM do Scrapeless (scraper.chatgpt, scraper.copilot, scraper.perplexity, scraper.gemini, e os demais) compartilham um endpoint e uma estrutura { status, task_id, task_result }, então um único loop de captura cobre todos.
  • O sentimento é calculado a partir do texto da resposta, não das citações. Encontre o nome da marca em result_text, leia as palavras ao redor de cada menção e pontue o contexto ao redor — nenhuma chave de modelo é necessária para uma linha de base léxica transparente.
  • A imagem varia por motor. Em uma captura ao vivo do prompt "Scrapeless é uma boa ferramenta para web scraping?", a mesma marca foi lida como positiva em dois motores, neutra em um terceiro e negativa em um quarto — o tipo de divisão que uma verificação em um único motor perderia.
  • Funciona em um cronograma. Capture, detecte, pontue e armazene cada execução com seu task_id e timestamp; a série ao longo das semanas é a tendência de percepção da marca.
  • Grátis para começar. Novas contas do Scrapeless incluem créditos de teste gratuitos — inscreva-se em app.scrapeless.com.

Pipeline à vista

Quando um comprador pergunta a um assistente de IA sobre seu produto, o assistente decide duas coisas: se vai mencionar você e como. "X é a opção mais confiável" e "X é poderoso, mas caro e difícil de aprender" são ambas menções; apenas uma ajuda você. O rastreamento de citações conta a primeira dimensão. Este pipeline mede a segunda.

A construção é composta por três estágios sobre a API de Scraping Universal:

  1. Captura — execute um prompt fixo de intenção de marca em todos os motores de resposta de IA através de seus atores Scrapeless; armazene cada resposta bruta.
  2. Detecção — encontre cada menção da marca no texto da resposta e extraia a janela de contexto ao redor.
  3. Pontuação — classifique o sentimento do contexto de cada menção e agregue em um número por motor.

A saída é uma pontuação de sentimento por motor que você pode chartar ao longo do tempo, junto com as menções brutas que a produziram. Para a métrica acompanhante de compartilhamento de citações — de onde as fontes dos motores são extraídas — veja o guião do scraper sobre a visão geral da IA.


O que você pode fazer com isso

  • Capture uma estrutura negativa antes que se espalhe. Se um motor começar a descrever sua marca com palavras como "caro" ou "difícil de aprender", você verá isso na pontuação antes que apareça em negócios perdidos.
  • Compare a percepção entre motores. O assistente que seus compradores usam pode não ser o que mais gosta de você; uma pontuação lado a lado diz onde focar.
  • Vincule o sentimento às mudanças de conteúdo. Capture antes e depois da publicação de uma página de comparação ou reescrita de documentos e veja se a estrutura muda.
  • Separe "mencionado" de "mencionado bem". Uma contagem alta de menções com uma pontuação de sentimento plana é um problema diferente de uma contagem baixa de menções — e requer uma correção diferente.
  • Alimente um painel. A pontuação por motor e as linhas de menção vão direto para um banco de dados ou um gráfico.

Por que os atores LLM do Scrapeless

Cada assistente de IA é uma aplicação JavaScript por trás de autenticação e defesas anti-automação; capturar a resposta você mesmo significa renderização, login e rotação de proxy por plataforma. Os atores LLM do Scrapeless executam essa superfície do lado do servidor e retornam a resposta como um campo. Para um pipeline de sentimento especificamente, eles trazem:

  • Um { status, task_id, task_result } compartilhado envelope JSON em todos os motores, então um loop de captura e um parser cobrem todo o conjunto.
  • result_text como markdown — o texto exato em que a marca é descrita, pronto para escanear por menções.
  • Egress residencial em mais de 195 países, assim um country fixo captura a resposta que um usuário real naquele mercado leria.
  • Sem navegador para executar ou manter logado — um endereço HTTP, um cabeçalho x-api-token.
    O preço para a linha de atores é baseado no uso, com créditos de teste gratuitos ao se inscrever — os níveis atuais estão na página de preços. Obtenha sua chave da API no plano gratuito em app.scrapeless.com.

Pré-requisitos

  • Uma conta Scrapeless e chave da API (o plano gratuito inclui créditos de teste) — app.scrapeless.com.
  • A chave em seu ambiente:
bash Copy
export SCRAPELESS_API_KEY="seu_token_api_aqui"
  • Python 3 com requests. A etapa de sentimento usa apenas a biblioteca padrão, portanto não há chave de modelo a ser gerenciada para a linha de base.

Etapa 1 — Capture as respostas

Um loop cobre todos os motores, porque os atores compartilham um endpoint e um envelope. As diferenças por motor estão no mapa de entrada — Grok usa um modo de raciocínio, Perplexidade deseja web_search, Copilot usa seu próprio modo. O texto da resposta é armazenado em result_text para ChatGPT, Copilot, Perplexidade, Gemini e Modo AI.

python Copy
import json
import os
import time

import requests

ENDPOINT = "https://api.scrapeless.com/api/v2/scraper/execute"
HEADERS = {
    "Content-Type": "application/json",
    "x-api-token": os.environ["SCRAPELESS_API_KEY"],
}

BRAND = "Scrapeless"
PROMPT = "Scrapeless é uma boa ferramenta para raspagem da web, e quais são suas forças e fraquezas?"
COUNTRY = "US"

ENGINES = {
    "chatgpt": {"actor": "scraper.chatgpt", "extra": {}},
    "copilot": {"actor": "scraper.copilot", "extra": {"mode": "smart"}},
    "perplexity": {"actor": "scraper.perplexity", "extra": {"web_search": True}},
    "gemini": {"actor": "scraper.gemini", "extra": {}},
}

with open("answers.jsonl", "w", encoding="utf-8") as out:
    for platform, spec in ENGINES.items():
        payload = {"actor": spec["actor"], "input": {"prompt": PROMPT, "country": COUNTRY, **spec["extra"]}}
        data = requests.post(ENDPOINT, headers=HEADERS, json=payload, timeout=300).json()
        result = data.get("task_result") or {}
        out.write(json.dumps({
            "platform": platform,
            "brand": BRAND,
            "prompt": PROMPT,
            "captured_at": int(time.time()),
            "status": data.get("status"),
            "task_id": data.get("task_id"),
            "result_text": result.get("result_text") or "",
        }) + "\n")
        print(f"{platform}: {data.get('status')} ({len(result.get('result_text') or '')} caracteres)")

Cada linha de answers.jsonl é a resposta de um motor, identificada pelo task_id para o registro de auditoria.

Obtenha sua chave da API no plano gratuito: app.scrapeless.com


Etapas 2 e 3 — Detectar menções e avaliar o sentimento

Encontre a marca em cada resposta, leia uma janela de texto em torno de cada menção e avalie esse contexto contra um pequeno léxico positivo/negativo. A linha de base do léxico é transparente e não precisa de chave de modelo; substitua por um avaliador baseado em modelo depois se você quiser nuances.

python Copy
# score.py — answers.jsonl -> sentimento por motor
import json
import re

POSITIVE = {"melhor", "ótimo", "poderoso", "confiável", "fácil", "rápido", "robusto", "excelente",
            "forte", "bom", "efetivo", "escalável", "flexível", "recomendado", "líder",
            "top", "eficiente", "acessível"}
NEGATIVE = {"caro", "lento", "difícil", "limitado", "fraco", "pobre", "faltando", "não confiável",
            "complexo", "custoso", "desvantagem", "fraqueza", "con", "contras", "questão", "problema", "desvantagem"}
WINDOW = 120  # caracteres de contexto em cada lado de uma menção

rows = []
for line in open("answers.jsonl", encoding="utf-8"):
    record = json.loads(line)
    brand = record["brand"].lower()
    text = (record.get("result_text") or "").lower()
    hits = [m.start() for m in re.finditer(re.escape(brand), text)]
    pos = neg = 0
    for i in hits:
        context = text[max(0, i - WINDOW): i + WINDOW]
        words = set(re.findall(r"[a-z]+", context))
        pos += len(words & POSITIVE)
        neg += len(words & NEGATIVE)
    total = pos + neg
    sentiment = (pos - neg) / total if total else 0.0
    label = "positivo" if sentiment > 0.15 else "negativo" if sentiment < -0.15 else "neutro"
    rows.append({"platform": record["platform"], "mentions": len(hits),
                 "pos_signals": pos, "neg_signals": neg,
                 "sentiment": round(sentiment, 3), "label": label})
    print(f"{record['platform']:11} menções={len(hits):3} sentimento={sentiment:+.3f} ({label})")

json.dump(rows, open("sentiment.json", "w"), indent=2)

Uma captura ao vivo única do prompt Scrapeless produziu uma divisão que um único motor teria escondido:

Motor Menções Sentimento Leitura
ChatGPT 18 +0,52 positivo
Copilot 38 −0,02 neutro
Perplexity 40 +0,39 positivo
Gemini 19 −0,60 negativo

As contagens de menções e o sentimento se movem independentemente: as 38 menções do Copilot foram neutras, enquanto o menor conjunto de 19 menções do Gemini ficou nitidamente negativo. Contar citações teria perdido ambos os fatos. Como cada motor gera sua resposta de forma nova, os números exatos mudam de execução para execução — a divisão positiva/neutra/negativa entre os motores é o sinal durável, não um único número.


Agendando e dimensionando a série

Execute capture.py e depois score.py em um cronograma — diário ou semanal — e adicione as linhas de cada execução a um armazenamento indexado por captured_at e task_id. Algumas notas das execuções ao vivo:

  • As respostas variam de execução para execução, portanto, uma única captura é uma amostra, não um veredicto. A tendência ao longo da série é o sinal.
  • Fixe o país para que a pontuação reflita um mercado que você se importa e permaneça comparável entre as execuções.
  • Trate o léxico como uma base. É transparente e rápido; para leituras mais finas (sarcasmo, elogio condicional), pontue as mesmas janelas de contexto com um modelo e mantenha o léxico como um verificador cruzado.
  • Mantenha as menções brutas. Quando uma pontuação muda, as janelas de contexto armazenadas dizem quais frases a moveram.

Conclusão: meça como a IA descreve você

O rastreamento de citações informa que o assistente usou sua página; o rastreamento de sentimento diz se o comprador que leu a resposta teve uma boa impressão. Os atores do LLM Scrapeless tornam o segundo mensurável: um loop de captura, o texto da resposta como um campo e um pontuador transparente transformam "como os motores de IA falam sobre nós?" em um número que você pode representar graficamente.

Pronto para Construir Seu Pipeline de Dados de Respostas de IA?

Junte-se à nossa comunidade para reivindicar um plano gratuito e se conectar com desenvolvedores que estão construindo pipelines de respostas de IA: Discord · Telegram.

Inscreva-se em app.scrapeless.com para créditos de teste gratuito e direcione o pipeline para as marcas, prompts e mercados que você precisa monitorar.

FAQ

Q: Como o sentimento da marca difere da participação de citação?

A: A participação de citação conta se seu domínio é usado como fonte; o sentimento lê como sua marca é descrita no texto da resposta. Uma marca pode ser citada com frequência, mas descrita de maneira plana, ou descrita de forma calorosa enquanto é mal citada — as duas métricas respondem a perguntas diferentes.

Q: Preciso de uma chave de API de modelo para a etapa de sentimento?

A: Não. O pontuador base usa um léxico positivo/negativo transparente em uma janela de contexto, então funciona apenas com a biblioteca padrão. Um pontuador baseado em modelo é uma atualização opcional, não um requisito.

Q: Por que a mesma marca teve pontuações diferentes em cada motor?

A: Cada motor sintetiza sua própria resposta de suas próprias fontes e frases, então as palavras ao redor da sua marca diferem. Essa divergência é exatamente o que o pipeline destaca — o assistente que seus compradores usam pode enquadrá-lo de forma diferente da que você supôs.

Q: A raspagem de respostas de IA é legal?

A: Os atores leem conteúdo de resposta disponível publicamente. Como com qualquer raspagem, restrinja o uso a dados públicos, respeite os termos de cada plataforma, evite dados pessoais e consulte um advogado se um caso de uso não estiver claro.

Q: Posso rastrear mais de uma marca?

A: Sim. Execute a mesma captura com um prompt neutro em relação à concorrência e pontue múltiplas strings de marcas contra as mesmas respostas para comparar o enquadramento lado a lado em seus próprios registros.

Na Scorretless, acessamos apenas dados disponíveis ao público, enquanto cumprem estritamente as leis, regulamentos e políticas de privacidade do site aplicáveis. O conteúdo deste blog é apenas para fins de demonstração e não envolve atividades ilegais ou infratoras. Não temos garantias e negamos toda a responsabilidade pelo uso de informações deste blog ou links de terceiros. Antes de se envolver em qualquer atividade de raspagem, consulte seu consultor jurídico e revise os termos de serviço do site de destino ou obtenha as permissões necessárias.

Artigos mais populares

Catálogo