🎯 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 Construir um Raspador de Amazon com o Navegador Scrapeless Agent: Um Guia Passo a Passo para 2026

Emily Chen
Emily Chen

Advanced Data Extraction Specialist

27-Apr-2026

Principais Conclusões:

  • Renderização dinâmica, não HTML bruto. As páginas de detalhes de produtos da Amazon, resultados de pesquisa e avaliações são hidratadas no lado do cliente - o Scrapeless Agent Browser as renderiza em um navegador real na nuvem. Na Amazon especificamente, wait --load networkidle não se estabiliza (fluxos de anúncios/beacons carregados sob demanda continuam ativos); use wait 1500 e depois wait '<stable-selector>' (por exemplo, #productTitle em PDPs, [data-asin]:not([data-asin=""]) em páginas /s).
  • Roteamento geográfico por sessão. --proxy-country, --proxy-state, --proxy-city, --timezone e --languages mantêm cada solicitação consistente em termos de localidade em .com, .co.uk, .de e .co.jp.
  • Fluxo Descobrir → Extrair. A Amazon roda nomes de classes e ganchos de atributos entre variantes A/B. Leia o DOM com get html antes de escrever seletores, então extraia com eval — nunca codifique nomes de classes diretamente no código entregue.
  • Uma sessão nova por operação lógica. Na prática, as sessões do Scrapeless permanecem limpas para 2–3 buscas de páginas hidratadas consecutivas. Além disso, elas começam a retornar chrome://new-tab-page ou a encerrar em silêncio. Crie uma nova sessão por página ou por pequenos lotes ao invés de reutilizar uma sessão de longa duração para mais de 20 solicitações.

Introdução

A Amazon é a maior superfície de dados de produtos na web aberta: inteligência de preços, mineração de avaliações, monitoramento de classificações de Best Sellers, conformidade com MAP e proteção de marcas fluem todas das mesmas páginas de listagem públicas. A API de Publicidade de Produtos oficial tem ciclos de aprovação restritos e não expõe os corpos de avaliação, séries temporais de BSR ou dados de vendedores concorrentes — portanto, a maioria das pipelines de dados sérios da Amazon ainda faz scraping.

Um scraper moderno da Amazon precisa lidar com várias realidades simultaneamente: as páginas são hidratadas em JavaScript, os nomes das classes giram entre variantes A/B, cookies e estado de localidade precisam persistir em solicitações paginadas e a filtragem baseada na reputação de IP trata a saída de data centers de forma rigorosa. Lidar com essas quatro preocupações em um cliente HTTP bruto — ou um Playwright instalado localmente — adiciona semanas de manutenção que ninguém quer assumir.

Este guia passa por um fluxo de trabalho baseado em terminal em cima do Scrapeless Agent Browser que lida com as partes que normalmente consomem semanas: impressão digital de anti-detecção, proxies residenciais, renderização dinâmica e consistência de localidade entre mercados — tudo através de um único CLI scrapeless-scraping-browser.


O Que Você Pode Fazer Com Isso

  • Precificação competitiva dinâmica. Acompanhe os preços do ASIN dos concorrentes em tempo real em .com, alimente o sinal nas regras de reprecificação e monitore janelas promocionais sem executar navegadores locais.
  • Monitoramento de conformidade com MAP. Digitalize listagens de varejistas e ofertas de vendedores de terceiros em relação ao seu Preço Mínimo Publicitado definido pelo fabricante, sinalizando violações à medida que aparecem.
  • Sinal de avaliação on-PDP. Agrupe as principais avaliações apresentadas em cada PDP (5–10 avaliações por ASIN via extração da Etapa 3) — o suficiente para detecção de tendências e monitoramento de reputação de forma contínua. A mineração de avaliações em todo o corpus em /product-reviews/* requer sessões autenticadas em 2026; veja a Etapa 5.
  • Monitoramento de estoque e disponibilidade. Monitore faltas de estoque, mudanças na elegibilidade Prime e variações no tempo de entrega de envio entre ASINs para antecipar a pressão na cadeia de suprimentos.
  • Inteligência de BSR e classificação. Extraia as classificações de Best Sellers em categorias e subcategorias para dimensionamento de mercado, acompanhamento de lançamentos e análise de participação de categoria.
  • Proteção de marca. Detecte listagens falsas, vendedores não autorizados de terceiros e violações de marcas registradas em vitrines de marketplaces.

Por Que Scrapeless Agent Browser

O Scrapeless Agent Browser é um navegador na nuvem personalizável e com anti-deteção, projetado para rastreadores da web e Agentes de IA. Para a Amazon especificamente, ele oferece:

  • Proxies residenciais em mais de 195 países (--proxy-country, --proxy-state, --proxy-city) para saída correspondente à localidade — o primitivo que suporta ficar fora do intersticial anti-bot da Amazon em primeiro lugar.
  • Impressão digital de anti-deteção em cada sessão, para que as páginas sejam renderizadas de forma idêntica ao tráfego orgânico.
  • Persistência de sessão via --session-id em solicitações paginadas, garantindo que cookies, carrinho e contexto Prime permaneçam consistentes de página para página.
  • Renderização em JavaScript no navegador na nuvem, garantindo um DOM hidratado para blocos de preços, banners de disponibilidade, corpos de avaliações carregados sob demanda e conteúdo A+.
  • Alinhamento de localidade por sessão--timezone e --languages se alinham automaticamente com a geografia do proxy selecionado.

Obtenha sua chave API no plano gratuito em scrapeless.com. Produtos Scrapeless relacionados: Universal Scraping API, Proxy Solutions e o Scrapeless MCP Server para integrações de Model Context Protocol.
Se uma interface no estilo API se adapta melhor ao seu pipeline do que um navegador, consulte os guias complementares Amazon Scraper API e Scraping Amazon Product Data. Para um repositório completo de soluções focadas na Amazon, veja scrapeless.com/en/solutions/amazon.


Pré-requisitos

  • Node.js 18 ou mais recente.
  • Uma conta Scrapeless e chave API — inscreva-se em scrapeless.com.
  • jq (opcional, para parsing JSON em scripts de shell — uma solução portátil de grep é mostrada abaixo).
  • Familiaridade básica com o terminal.

Instalar

As receitas abaixo são executadas na CLI scrapeless-scraping-browser. O setup é de três etapas — tanto os usuários da CLI quanto os usuários do agente de IA precisam das etapas #1 e #2; os usuários do agente de IA também realizam a etapa #3.

1. Instalar o pacote CLI

bash Copy
npm install -g scrapeless-scraping-browser

Isso fornece o binário scrapeless-scraping-browser que cada etapa deste guia chama. A habilidade não traz seu próprio runtime — ela carrega padrões de comando em seu agente de IA, mas a CLI deve ser instalada primeiro.

2. Configurar sua chave API

Obtenha seu token em scrapeless.com e, em seguida, armazene-o onde a CLI possa lê-lo:

bash Copy
scrapeless-scraping-browser config set apiKey your_api_token_here
scrapeless-scraping-browser config get apiKey   # verificar

Usando um agente de IA? As instruções da habilidade informam explicitamente seu agente que a autenticação é necessária antes de qualquer chamada de sessão. Se a chave API não estiver configurada quando o agente tentar usar a CLI pela primeira vez, o agente solicitará e executará o comando config set apiKey ... para você — você pode configurá-la manualmente agora (comandos acima) ou colar seu token quando o agente perguntar.

O arquivo de configuração está localizado em ~/.scrapeless/config.json, com acesso restrito ao usuário atual, tem prioridade sobre a variável de ambiente e é portátil entre agentes e runners de CI. Para pipelines de CI, prefira:

bash Copy
export SCRAPELESS_API_KEY=your_api_token_here

3. Instalar a habilidade Scrapeless em seu agente de IA

Esta é uma etapa separada da etapa 1 acima. A etapa 1 instalou o binário da CLI — o runtime que seu agente invoca. A habilidade é o que ensina seu agente como invocá-la corretamente (seletor, esperas, padrões de retry, o fluxo discover→extract). São duas coisas diferentes, e você precisa de ambas.

A habilidade é uma pasta que contém SKILL.md + skill.json + references/. A fonte canônica é o repositório scrapeless-ai/scrapeless-agent-browser → skills/scraping-browser-skill no GitHub.

Para instalá-la no Claude Code, Cursor, VS Code + GitHub Copilot, OpenAI Codex CLI ou Gemini CLI, siga o guia de instalação do Scrapeless AI Agent — ele contém os comandos de copiar e colar por agente (bash e Windows PowerShell). Recarregue seu agente após a instalação para que a habilidade se torne ativa.

Sem a habilidade instalada, seu agente não conhece o padrão discover→extract, as esperas por motor, ou os seletores que realmente funcionam em 2026, e você teria que fornecer cada detalhe em cada prompt.

O que a habilidade carrega no contexto operacional do seu agente desde o início:

  • Autenticação — verifique ~/.scrapeless/config.json ou SCRAPELESS_API_KEY e solicite que você o configure se estiver ausente (veja a etapa 2).
  • Fluxo Discover → Extracto padrão de antifragilidade. O agente lê o DOM ao vivo com get html "<region>" primeiro, identifica âncoras estáveis (atributos data-*, aria-label, role, ids semânticos), e então escreve seletores eval com base no que está realmente renderizado — em vez de adivinhar nomes de classes utilitárias que giram em variantes A/B e quebram em semanas.
  • Sintaxe do seletor — quando usar seletores CSS (#productTitle, [data-asin]) versus referências de acessibilidade (@e1 de snapshot -i).
  • Pegadinhas de esperawait 1500 entre open e wait --load networkidle para evitar a corrida de sessão fria chrome://new-tab-page; wait <seletor> contra um elemento da página alvo quando networkidle não se estabiliza.
  • Trabalhadores CLI paralelos — encadeamento de && em um shell único, nomes de sessão exclusivos, ≤3 trabalhadores simultâneos por host. --session-id por si só não é suficiente sob contenção de daemon.
  • Armadilhas comunseval retorna valores com aspas JSON ("49.99" não 49.99), open sai com código diferente de zero em navegação bem-sucedida, sessões terminam quando a conexão é fechada.
  • Referência completa de comando — cada flag para new-session, open, wait, eval, get, click, fill, snapshot, auth, profile, recording, stop, etc.

4. Verifique se a habilidade está configurada

Antes da primeira raspagem real da Amazon, teste a instalação com um prompt seguro para o seu agente:

"Usando a habilidade Scrapeless, abra https://example.com e me diga o título da página."

Seu agente deve criar uma sessão Scrapeless, navegar e responder com "Exemplo de Domínio". Se você ver essas duas palavras, a habilidade está carregada, a chave da API está configurada e o navegador em nuvem é acessível — você está pronto para raspar a Amazon.

Se falhar:

Sintoma Causa provável Correção
"Eu não tenho uma ferramenta/habilidade para fazer isso" Habilidade não carregada nesta sessão do agente Reinstale através do guia de instalação da habilidade e recarregue o agente
Autenticação falhou / 401 Chave da API não configurada Reexecute scrapeless-scraping-browser config set apiKey <token> (Etapa de instalação 2)
comando não encontrado Binário CLI ausente no PATH Reexecute a Etapa de instalação 1 (npm install -g scrapeless-scraping-browser)
Congela / vai para chrome://new-tab-page/ Espera de sessão fria Peça ao agente para tentar novamente — a habilidade sabe inserir wait 1500 entre open e wait --load networkidle
page.goto: Timeout 25000ms excedido na Amazon (mas example.com funciona) Pressão CAPTCHA do proxy residencial Scrapeless ↔ Amazon Tente em um país de proxy diferente (--proxy-country GB/CA/DE); para uso contínuo, mude para a API Scrapeless Amazon Scraper

Como você realmente usa isso: peça ao seu agente

Após a instalação, você raspa a Amazon conversando com seu agente — não copiando e colando bash. A habilidade carrega seletores, espera, classifica tentativas e o padrão descobrir→extrair no contexto do agente, então um prompt em linguagem natural de uma linha é suficiente para obter JSON estruturado de volta.

Prompts que você pode colar

Você diz ao seu agente O que você recebe de volta
"Raspe a Amazon por AirPods — top 10 com título, preço, classificação, ASIN" Lista JSON, 10 cartões, campos {title, price, rating, asin, url, sponsored}
"Obtenha os detalhes completos do produto para ASIN B09B8V1LZ3" Objeto JSON: {title, price, rating, reviewCount, availability, prime, asin, topReviews[]}
"Raspe a pesquisa da Amazon por 'fones de ouvido sem fio' nas páginas 1–5, salve como headphones.json" Um arquivo JSON, 5 páginas × ~22 cartões orgânicos cada, deduplicados por ASIN
"Extraia as principais avaliações da página do produto Echo Dot" Array JSON — autor, classificação, título, data, corpo, contagem de úteis — para o carrossel de avaliações na PDP
"Compare preços para ASIN B09B8V1LZ3 em amazon.com e amazon.co.uk" Preços lado a lado; .es/.de bloqueados anonimamente — o agente irá dizer e oferecer o caminho da API Scraper
"Monitore o preço para ASIN B09B8V1LZ3 a cada hora pelas próximas 6 horas" Loop de polling, sessão fresca por polling, resultados anexados a um CSV/JSON
"Encontre os mais vendidos em Eletrônicos → top 20 com preço + classificação" JSON, 20 linhas de /gp/bestsellers/electronics
"Raspe este anúncio e me diga se é elegível para Prime: https://amazon.com/dp/B09B8V1LZ3" Objeto único com prime: true/false mais o texto de evidência suportando a insígnia
"Obtenha o histograma de classificação (5★/4★/3★/2★/1★ %) para B09B8V1LZ3" Autenticado em 2026 — o agente irá explicar e oferecer o caminho da API Scraper
"Pesquise 'cadeira de escritório abaixo de 200', filtre anúncios, retorne os 10 orgânicos principais" JSON somente orgânico; cartões patrocinados removidos via [data-component-type="sp-sponsored-result"]
"O que está atualmente em promoção na Apple Store em amazon.com?" Passagem de descoberta na vitrine, depois extraia itens com etiqueta de promoção
"Para ASIN B09B8V1LZ3 liste os recursos em tópicos e o texto da seção A+ " Dois arrays: bullets de recursos de #feature-bullets e parágrafos A+

Exemplo trabalhado: obter o cartão completo do produto para ASIN B09B8V1LZ3

Você digita:

"Obtenha o título, preço, classificação, contagem de avaliações e as 5 principais avaliações para ASIN B09B8V1LZ3 da Amazon. Retorne JSON."

O plano do agente (em inglês simples):

  1. Criar uma sessão de saída dos EUA (a Amazon localiza por IP).
  2. Abrir https://www.amazon.com/dp/B09B8V1LZ3, wait 1500, e então wait '#productTitle' para evitar a corrida da sessão fria.
  3. Confirmar âncoras com get html "#centerCol" (lida as frequentes trocas de layout da Amazon), então eval para #productTitle, .a-price .a-offscreen, #acrPopover[title], #acrCustomerReviewText, e [data-hook="review"] × 5.

O que você recebe de volta (o esquema é normativo — a forma JSON; o texto da avaliação abaixo é um exemplo ilustrativo):

json Copy
{
  "asin": "B09B8V1LZ3",
  "title": "Echo Dot (5ª Geração, lançamento de 2022) | Som vibrante e potente...",
  "price": "$49.99",
  "rating": "4.7 de 5 estrelas",
  "reviewCount": "191.146 avaliações",
  "availability": "Em Estoque",
  "prime": true,
  "topReviews": [
    {
      // ilustrativo — campos de avaliação reais são preenchidos de [data-hook="review"] × 5
      "author": "James M.",
      "rating": "5.0 de 5 estrelas",
      "title": "Qualidade de voz excelente, configuração fácil",

"data": "Revisado nos Estados Unidos em 14 de março de 2026",
"corpo": "A configuração levou dois minutos. O reconhecimento de voz é perceptivelmente mais preciso..."
primeEligible: prime, url: location.href,
});
})()
'

Copy
Para esquemas mais ricos (recursos em bullet, marca, vendedor, envio de, galeria de imagens, matriz de variantes), repita o ciclo de descoberta → extração para cada região. O [guia wiki em nível de ASIN](https://www.scrapeless.com/pt/wiki/how-to-scrape-amazon-asin-data-with-scrapeless) e o [guia wiki de preço de produto](https://www.scrapeless.com/pt/wiki/how-to-scrape-amazon-products-price-data-with-scrapeless) documentam campos adicionais.

---

## Passo 4 — Raspar uma pesquisa de categoria com paginação

A Amazon pagina os resultados de pesquisa através de `&page=N`. A profundidade orgânica acessível para uma única consulta é aproximadamente 20 páginas (~400 itens) — uma restrição do índice estrutural. Para uma cobertura mais ampla, divida a consulta por faceta (marca, faixa de preço, subcategoria) em vez de ultrapassar o limite.

```bash
QUERY="fones de ouvido sem fio"
for page in $(seq 1 20); do
  # Mint uma nova sessão por página — o reuso de sessões de longa duração degrada após
  # ~3 solicitações de página hidratada (retornos silenciosos de chrome://new-tab-page ou
  # término total). Uma sessão por página é tanto mais confiável quanto
  # trivialmente paralelizável.
  SID=$(scrapeless-scraping-browser new-session --name "search-p$page" --ttl 300 \
    --json | jq -r '.data.taskId')

  URL="https://www.amazon.com/s?k=$QUERY&page=$page"
  scrapeless-scraping-browser --session-id $SID open "$URL"
  # networkidle nunca se estabiliza em /s devido a streams carregados sob demanda; espere pelos cartões
  scrapeless-scraping-browser --session-id $SID wait '[data-asin]:not([data-asin=""])'

  scrapeless-scraping-browser --session-id $SID eval "
    (() => {
      const cards = document.querySelectorAll('[data-asin]:not([data-asin=\"\"])');
      // A contagem de cartões varia (~16–60 dependendo do viewport, consulta e variante A/B);
      // emita um índice por página e deixe o consumidor calcular a classificação absoluta a partir disso
      // mais o número da página em vez de incluir um multiplicador fixo aqui.
      return JSON.stringify({
        query: '$QUERY', page: $page,
        results: [...cards].map((c, i) => ({
          pageIndex: i + 1,
          asin: c.getAttribute('data-asin'),
          title: c.querySelector('h2 span')?.textContent?.trim() || null,
          price: c.querySelector('.a-price .a-offscreen')?.textContent || null,
          // Avaliação: tente várias superfícies de widget de estrelas — a Amazon as rotaciona
          rating: parseFloat(
            c.querySelector('[aria-label*=\"out of 5 stars\"]')?.getAttribute('aria-label')
            || c.querySelector('i.a-icon-star span.a-icon-alt, i.a-icon-star-small span.a-icon-alt')?.textContent
            || ''
          ) || null,
          sponsored: c.querySelector('[data-component-type=\"sp-sponsored-result\"]') !== null || c.matches('[data-component-type=\"sp-sponsored-result\"]'),
          prime: !!c.querySelector('[aria-label*=\"Prime\"]'),
          url: c.querySelector('a.a-link-normal.s-underline-link-text')?.href || null,
        })),
      });
    })()
  " > "results-page-$page.json"

  scrapeless-scraping-browser stop $SID
done

Uma nova sessão por página, não uma sessão longa. Em teoria, um --session-id reutilizado preserva cookies e digitalização; na prática, sessões Scrapeless começam a retornar uma página em branco chrome://new-tab-page ou terminam após ~3 solicitações de página hidratada, então o padrão confiável é criar uma sessão de curto prazo por página e pará-la no final. Paralelizar entre páginas é então direto — execute o corpo do loop em trabalhadores em segundo plano sem coordenação.

ASINs NÃO são exclusivos entre as páginas 1–5 (ASINs patrocinados se repetem legitimamente — 104 únicos / 274 totais observados); não presumir que conjuntos de ASIN entre páginas são disjuntos ao deduplicar.

Mantenha a concorrência ≤ 3 por host. Executar 4+ invocações CLI simultâneas contra o mesmo daemon local gera erros de falha da página-alvo e "Página de destino, contexto ou navegador foi fechado durante a avaliação". Para maior rendimento, divida entre vários hosts (ou várias contas de usuário) em vez de aumentar a concorrência em uma única máquina.

Executando trabalhadores paralelos? O daemon padrão ~/.scrapeless-scraping-browser/ é compartilhado entre processos no mesmo host — múltiplos trabalhadores podem sequestrar as sessões uns dos outros mesmo quando cada um passa seu próprio --session-id. O que realmente funciona: encadeie cada chamada CLI para um trabalho como uma única invocação de shell && (atômica do ponto de vista do daemon — outros trabalhadores não podem intercalar entre seus passos), use nomes de sessão exclusivos (a porta é hashada a partir do nome) e limite a concorrência a cerca de 3 trabalhadores por host. A isolação da variável de ambiente USERPROFILE/HOME é documentada na habilidade upstream, mas não isola o binário Rust v0.1.1 no Windows em nossos testes — para maior distribuição, divida entre hosts. Veja skill-dev/SKILL.md "Agentes CLI Paralelos" para o padrão completo.

Para estratégias de cobertura mais profundas, veja Como Raspar Dados de Categoria da Amazon.

Passo 5 — Uma nota sobre avaliações e o histograma de estrelas

Ao longo de 2025, as páginas /product-reviews/<ASIN>/ eram acessíveis de forma anônima e o produto cartesiano de filtro de estrelas × número da página tornava a coleta do corpus completo de avaliações bastante simples. Em 2026, a Amazon alterou o acesso: solicitações anônimas para URLs de avaliações agora redirecionam para /ap/signin na grande maioria dos casos. O carrossel de avaliações na página de detalhes do produto ([data-hook="review"] dentro da PDP principal) permanece acessível anonimamente — essas são as 5–10 principais avaliações extraídas na etapa 3 — mas a exploração profunda por filtro de estrelas e o histograma de classificação de estrelas na página de avaliações requerem uma sessão autenticada.

Dois caminhos práticos a seguir:

  • Use as principais avaliações na PDP (disponíveis na extração da etapa 3; sem navegação extra necessária) quando 5–10 avaliações por ASIN forem suficientes — geralmente verdadeiro para monitoramento de reputação e detecção de tendências.
  • Para o corpus completo de avaliações, combine o Scraping Browser com o estado de sessão autenticada. auth save <name> armazena credenciais e auth login <name> as reproduz, mas os prompts de MFA ainda aparecem em cada nova login — prático apenas para contas da Amazon sem imposição de MFA. Para pipelines que precisam do corpus histórico completo de avaliações em larga escala, a API Scrapeless Amazon Scraper lida com a autenticação do lado do servidor, para que o chamador não precise.

De qualquer forma, não tente coleta anônima de /product-reviews/* em 2026 — cada solicitação após as primeiras redireciona para /ap/signin e a sessão está efetivamente encerrada para trabalho de avaliações.


Passo 6 — Uma nota sobre instantâneas entre marketplaces

O ASIN é globalmente estável — preços, disponibilidade e pool de vendedores diferem entre .com, .co.uk, .de, e .co.jp — e, em princípio, uma sessão alinhada por proxy por marketplace é o padrão natural. Na prática, sessões roteadas dos EUA que acessam marketplaces fora dos EUA frequentemente aterrissam em intersticiais de localidade (por exemplo, amazon.es/dp/<ASIN> retorna a página espanhola "Seguir comprando" — ~160 bytes, sem #productTitle, sem marcadores de adição ao carrinho — em vez da página de detalhes do produto). Solicitações de marketplaces fora dos EUA são atualmente melhor atendidas pela API Scrapeless Amazon Scraper, que gerencia o roteamento do marketplace do lado do servidor.

Para o marketplace dos EUA especificamente (.com), cada passo deste guia funciona de ponta a ponta sem qualquer flag geográfica. Para pipelines multi-marketplace hoje, use a API Scraper para marketplaces fora dos EUA e o Scraping Browser para o trabalho de fluxo personalizado nos EUA.

Veja Scraping Amazon Com Proxies Residenciais e Proxy para Scraping Amazon para obter informações sobre o modelo de proxy residencial.


O Que Você Recebe de Volta

O Scraping Browser retorna um DOM ao vivo — o esquema de extração é o que quer que o chamador escreva na etapa eval. Para uma passagem única da PDP com o template descobrir → extrair da Etapa 3, os campos que retornam de forma confiável hoje são semelhantes a isto:

json Copy
// O esquema é normativo; os valores dos campos abaixo são exemplos ilustrativos
// de uma captura recente, não um snapshot congelado de B09B8V1LZ3 hoje.
{
  "asin": "B09B8V1LZ3",
  "title": "Echo Dot (5ª Geração, lançamento em 2022) | Som grande e vibrante...",
  "brand": "Amazon",
  "final_price": "49,99",
  "availability": "Em Estoque",
  "rating": 4.7,
  "review_count": 191146,
  "prime_eligible": true,
  "amazon_choice": true,
  "bought_past_month": "Mais de 10 mil comprados no último mês",
  "features": [
    "PERFEITO PARA QUALQUER QUARTO – Som vibrante...",
    "CONTROLE SUA MÚSICA POR VOZ – Transmita músicas..."
  ],
  "image_url": "https://m.media-amazon.com/images/I/...",
  "images_count": 9,
  "delivery": "Entrega GRÁTIS em pedidos qualificados",
  "url": "https://www.amazon.com/dp/B09B8V1LZ3",
  "domain": "www.amazon.com"
}

Algumas observações honestas sobre esta saída, que vale a pena conhecer antes de rodar em larga escala:

  • A tabela de especificações detalhadas é protegida por template. Campos que residem dentro de #productDetails_detailBullets_sections1 / #detailBulletsWrapper_feature_divproduct_dimensions, item_weight, model_number, manufacturer, upc, date_first_available, department — estão frequentemente ausentes do DOM que a Amazon fornece. Um IP residencial diferente, ou adicionar ?language=en_US&m=ATVPDKIKX0DER à URL, às vezes revela o template completo. Para campos que devem estar presentes em cada execução, a API Scrapeless Amazon Scraper resolve isso do lado do servidor.
  • Classificação dos Melhores Vendedores (BSR) e suas categorias ancestrais (bs_rank, bs_category, root_bs_rank, root_bs_category, subcategory_rank) são parte desse mesmo bloco de especificações detalhadas. A mesma advertência.
  • number_of_sellers requer uma navegação secundária para /gp/offer-listing/<ASIN>/ e então extrair a contagem de linhas de vendedores.
  • top_review vem do carrossel de avaliações do PDP ([data-hook="review-body"]). O caminho de fallback para /product-reviews/<ASIN>/ não funciona mais anonimamente em 2026 (veja o Passo 5) — confie no carrossel do PDP para 5–10 avaliações principais por ASIN.
  • parent_asin requer a varredura da região do variant-twister (#twister / #variation_*); está presente apenas em produtos que enviam variantes.

Um instantâneo da página de busca retorna uma array de resultados estruturados:

json Copy
{
  "query": "fones de ouvido sem fio",
  "page": 1,
  "results": [
    {
      "rank": 1, "asin": "B0XXXXXXXX", "title": "...",
      "price": "$79.99", "rating": 4.5, "review_count": 12034,
      "sponsored": false, "prime": true,
      "url": "https://www.amazon.com/dp/B0XXXXXXXX"
    }
  ]
}

Precisa do esquema completo de 55 campos? Use a API Amazon Scraper

O produto acompanhante — a API Scrapeless Amazon Scraper — retorna um esquema pré-normalizado de ~55 campos para qualquer ASIN: parent_asin, buybox_prices{initial, final, unit, discount}, BSR completo entre categorias ancestrais (root_bs_rank, bs_rank, subcategory_rank), number_of_sellers, seller_id, product_details[{type, values}], top_review, answered_questions, variations, e o resto — sem escrever um único seletor ou navegação extra.

Scrapeless Scraping Browser (este guia) Scrapeless Amazon Scraper API
Saída DOM ao vivo; você escreve o eval JSON pré-normalizado, ~55 campos
Manutenção de seletores Responsabilidade do chamador Responsabilidade do Scrapeless
Melhor para Visualizações logadas, campos personalizados, fluxos em múltiplas etapas, páginas com restrição de região, automação de adição ao carrinho, navegação por variante Inteligência de produto em alta volume, monitoramento de MAP, reprecificadores, análises estruturadas
Normalização (is_available, buybox_prices dividido, travessia de BSR ancestral) Responsabilidade do chamador Tratado no servidor
Boa primeira escolha quando… Você precisa exatamente do subconjunto de campos que seu pipeline se importa, ou fluxos não-PDP (carrinho, salvo para depois, lista de desejos, Assine e Economize) Você quer o objeto de produto canônico da Amazon com esquema garantido

Ambos os produtos compartilham a mesma conta Scrapeless e o mesmo pool de proxies residenciais. Escolha a ferramenta certa por caso de uso; elas se combinam bem quando um pipeline precisa de ambas.

Para referência completa do esquema e exemplos de cargas, veja Extrair Dados de Produto da Amazon e o hub de soluções da Amazon.

Mais algumas observações honestas sobre as saídas dos cartões de busca, que valem a pena saber antes de executar em larga escala:

  • O campo currency geralmente é inferível do domínio do marketplace, mas nem sempre é emitido inline pela página — derive-o do contexto do marketplace da sessão, em vez de analisar a string de preço.
  • O texto de availability é localizado; normalize para um enum (InStock, OutOfStock, BackOrdered, LimitedStock, Unavailable) antes do uso a montante.
  • Os campos rating e reviewCount nos cartões de resultados de busca estão ocasionalmente ausentes em listas novíssimas; trate-os como anuláveis.

Conclusão

Raspar a Amazon em larga escala não se trata mais apenas de buscar HTML — requer renderização confiável, sessões cientes da localidade e um fluxo de trabalho que pode sobreviver a mudanças frequentes no DOM e pressão anti-bot. O Scrapeless Scraping Browser reúne essas partes de maneira pronta para produção, facilitando a coleta de dados de produto estáveis, avaliações e resultados de busca sem manter navegadores locais frágeis.

Para equipes que precisam de dados estruturados da Amazon em grande escala, a Scrapeless Amazon Scraper API é a escolha melhor. Para fluxos de trabalho que requerem interação, navegação personalizada ou controle em nível de navegador, o Scrapeless Scraping Browser oferece a flexibilidade e resiliência necessárias para construir sobre páginas da web reais. Na prática, os dois produtos funcionam melhor como uma pilha combinada: use a API para extração padronizada e o navegador para fluxos complexos e casos extremos.

Pronto para Raspagem e Lucrar?

Junte-se à nossa comunidade vibrante para reivindicar um plano gratuito e conectar-se com outros inovadores:

Comunidade Oficial do Discord Scrapeless
Comunidade Oficial do Telegram Scrapeless



FAQ

Q1: Por que usar o Scrapeless Scraping Browser em vez de um raspador comum ou configuração local do Playwright?
As páginas da Amazon são altamente dinâmicas e frequentemente protegidas por sistemas anti-bot. O Scrapeless Scraping Browser oferece renderização real de navegador, proxies residenciais, proteção contra impressão digital e controle de sessão em um só lugar, o que torna muito mais confiável para scraping em produção.

Q2: Eu preciso de um proxy para raspar a Amazon?
Sim. As faixas de IP do datacenter são filtradas agressivamente na borda da Amazon, e os padrões de solicitação de um único IP são rapidamente limitados. Proxies residenciais — conectados ao Scrapeless Scraping Browser via --proxy-country, --proxy-state e --proxy-city — produzem taxas de coleta estáveis. Veja Proxy para Raspagem da Amazon e Raspagem da Amazon com Proxies Residenciais.

Q3: Como isso é diferente da API de Scraper da Amazon?
A API de Scraper da Amazon retorna JSON estruturado para endpoints bem conhecidos (consulta ASIN, páginas de categorias, pesquisa) sem que o chamador precise renderizar um navegador — ideal para pipelines que desejam um esquema fixo e nenhuma lógica de extração. O Scrapeless Scraping Browser é a ferramenta certa quando a página precisa de renderização JavaScript, quando sequências de navegação são importantes (filtros, menus suspensos, seções expansíveis) ou quando a continuidade de cookies/fingerprint por sessão em solicitações paginadas é necessária.

Q4: Quais marketplaces são suportados?
Cada domínio de marketplace da Amazon é uma URL simples — .com, .co.uk, .de, .fr, .it, .es, .co.jp, .com.au, .in, .com.mx, .com.br, e assim por diante. Alinhe --proxy-country, --timezone e --languages com a região de origem do marketplace. Na prática (veja a Etapa 6), o marketplace dos EUA funciona de ponta a ponta no Scraping Browser; marketplaces fora dos EUA são atualmente melhor atendidos pela API de Scraper da Amazon Scrapeless, que gerencia o roteamento do marketplace do lado do servidor.

Q5: O que acontece quando a Amazon muda o DOM?
O fluxo de descobrir → extrair é a resposta durável: get html da região relevante primeiro, identificar âncoras estáveis (atributos de dados ASIN, rótulos ARIA, localizadores baseados em função semântica) e preencher eval com seletores derivados do DOM atual — não nomes de classe codificados. Quando a página é reformulada, a mesma etapa de descoberta se adapta automaticamente.

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