Ganhe 1 TB de dados residenciais, um iPhone 18 Pro Max + mais 33 prémiosRecarga de $50 = 1 bilheteParticipe
Empresas

Amazon Scraper: como coletar dados de produtos, ASINs e avaliações

Mo

14 de outubro de 2026

Scraping e automação

Amazon Scraper: como coletar dados de produtos, ASINs e avaliações

Resuma este artigo com IA:


Sua exportação de produtos da Amazon parece pronta para análise até você verificar algumas linhas. Dois preços pertencem a tamanhos diferentes, estimativas de entrega refletem CEPs diferentes, e as avaliações coletadas cobrem apenas parte do feedback que você esperava. Essas lacunas podem distorcer uma comparação de preços ou enviar a pesquisa de produtos na direção errada.

Um scraper da Amazon ajuda você a coletar dados, mas resultados úteis dependem de como você configura o trabalho e verifica sua saída. Este guia orienta você na escolha entre Python, web scraping APIs e ferramentas no-code, depois coletando detalhes de produtos, ASINs e avaliações com configurações consistentes. Você também aprenderá como verificar a precisão da localização, lidar com campos ausentes e construir um fluxo de trabalho repetível antes de escalar.

TL;DR

  • Escolha seu método: Construa um scraper da Amazon com Python quando precisar de lógica personalizada e puder manter o código. Escolha uma API gerenciada para reduzir o trabalho de extração, ou uma ferramenta no-code para exportações rápidas com configuração mínima.

  • Use proxies onde o fluxo de trabalho precisar deles: Proxies fornecem roteamento de rede e controle de IP para scripts personalizados. Combine rotação ou sticky sessions à tarefa, depois verifique as configurações de entrega da Amazon e os dados extraídos.

  • Mantenha comparações consistentes: Salve o ASIN, variante selecionada, vendedor, preço, moeda, marketplace, CEP de entrega, URL de origem e timestamp de coleta.

  • Verifique a cobertura de avaliações separadamente: Filtros, paginação e limites de acesso podem restringir sua amostra. Registre o que você coletou em vez de assumir que a exportação contém todas as avaliações.

O que é um scraper da Amazon e quais dados ele pode coletar?

Um scraper da Amazon é uma ferramenta que extrai informações de páginas da Amazon e as organiza em registros estruturados, como um arquivo CSV, planilha ou saída JSON. Em vez de copiar manualmente detalhes de produtos, você fornece URLs, termos de busca ou ASINs, dependendo da ferramenta, e especifica as informações que precisa.

Campos comuns incluem títulos de produtos, ASINs, marcas, preços, moedas, variantes selecionadas, nomes de vendedores, disponibilidade, avaliações e contagens de reviews. Algumas ferramentas também coletam listagens de busca e avaliações individuais de clientes, embora a cobertura dependa da ferramenta e do que ela pode acessar.

Empresas usam esses dados para monitorar preços, comparar produtos concorrentes, rastrear mudanças de sortimento e analisar feedback de clientes. Para fazer scraping de dados de produtos da Amazon e apoiar comparações confiáveis, cada registro precisa de contexto: qual variante e vendedor ele representa, a localização de entrega aplicada e quando a informação foi coletada.

Detalhes de produtos, preços, vendedores e disponibilidade

Escolha campos que permitam identificar o produto exato e entender a oferta anexada a ele. Um preço sozinho diz pouco se você não puder confirmar o tamanho, vendedor ou moeda.

Campo

O que capturar

Título e marca

O nome do produto e marca exibidos para identificação e agrupamento.

ASIN

O identificador da Amazon associado ao produto sendo coletado.

Variante selecionada

Tamanho, cor, capacidade, quantidade do pacote ou outras opções selecionadas.

Preço e moeda

O preço da oferta exibido e sua moeda, com cupons ou descontos condicionais registrados separadamente.

Vendedor

O vendedor anexado à oferta; mantenha informações de fulfillment separadas quando disponíveis.

Disponibilidade

O status exibido, como em estoque, temporariamente indisponível ou disponível para pré-venda.

Estimativa de entrega

A data de entrega ou intervalo mostrado para o destino selecionado.

URL de origem

O endereço da página para que você possa rastrear e verificar o registro.

💡

Dica profissional: Salve o timestamp da coleta e o código postal de entrega junto com esses campos para que comparações posteriores mantenham seu contexto original.

Resultados de pesquisa, avaliações e comentários de clientes

Um scraper da Amazon pode coletar vários tipos de dados, mas cada um responde a uma pergunta diferente. Os resultados de pesquisa mostram quais listagens aparecem para uma consulta, enquanto as páginas de produtos descrevem um produto selecionado e sua oferta exibida. As avaliações agregadas resumem as pontuações dos clientes; registros individuais de comentários fornecem o feedback escrito por trás de algumas dessas pontuações.

Tipo de dados

Campos úteis

Aplicação comercial

Limitação a verificar

Resultados de pesquisa

Consulta, ASIN, título, posição, preço exibido, rótulo de patrocinado

Rastrear visibilidade do produto e descobrir listagens concorrentes

A posição depende da consulta e do contexto de coleta; separe os posicionamentos patrocinados dos resultados orgânicos.

Páginas de produtos

ASIN, variante, preço, vendedor, disponibilidade

Comparar ofertas e monitorar mudanças de produtos

Confirme a variante selecionada, o vendedor e o local de entrega antes de comparar registros.

Avaliações agregadas

Avaliação média em estrelas, contagem total de avaliações, distribuição de estrelas quando disponível

Monitorar o sentimento geral do cliente

Uma contagem de avaliações não é igual ao número de comentários escritos disponíveis para coletar.

Comentários individuais

ID do comentário, estrelas, título, texto, data, indicador de compra verificada

Identificar reclamações recorrentes e pontos fortes do produto

Filtros, ordenação e limites de acesso podem produzir uma amostra incompleta ou distorcida.

Ao fazer scraping de dados de produtos da Amazon, mantenha esses conjuntos de dados conectados por meio de identificadores como ASINs, preservando seus significados separados.

Configure o acesso proxy para seu scraper da Amazon com CyberYozh App

CyberYozh App fornece infraestrutura de proxy para controlar a conexão de rede que seu scraper da Amazon usa. Combine o tipo de proxy e o comportamento de sessão ao seu processo de coleta e, em seguida, avalie o desempenho usando registros extraídos corretamente, em vez de apenas o sucesso da conexão.

Escolha proxies residenciais rotativos ou sessões sticky para a tarefa

Conexões residenciais rotativas são adequadas para trabalhos de coleta independentes que não precisam manter o mesmo endereço de rede entre tarefas. Para solicitações relacionadas, como definir um local de entrega e abrir várias páginas de produtos, use uma sessão sticky para manter o IP enquanto seu aplicativo preserva seus cookies e estado do navegador.

🦔

Os proxies residenciais rotativos da CyberYozh oferecem suporte a sessões rotativas e sticky, acesso completo à API e rollover de tráfego mensal. O faturamento baseado em uso com rollover se adequa a pesquisas recorrentes cujo volume varia entre períodos mais calmos e execuções de coleta maiores, porque o tráfego não utilizado é transferido para o próximo mês de faturamento.

Avalie opções mobile, ISP estático e datacenter

Compare essas opções usando a mesma amostra de produto, requisitos de localização e critérios de aceitação.

Tipo de proxy

Onde pode se adequar

O que avaliar

Mobile LTE/4G/5G

Coleta recorrente onde o acesso à rede de operadora e controle sobre mudanças de IP são úteis

Localizações disponíveis, comportamento de rotação, taxa de transferência e resultados utilizáveis sob sua carga de trabalho

ISP estático

Trabalhos que se beneficiam de manter um IP dedicado através de sessões repetidas

Continuidade de sessão, adequação de localização e desempenho ao longo do tempo

Datacenter

Cargas de trabalho onde velocidade de conexão e custo de infraestrutura são prioridades

Se suas páginas alvo retornam dados completos e utilizáveis a um custo aceitável

💡

Dica profissional: O CyberYozh App lista tráfego ilimitado em seus planos mobile, ISP estático e datacenter. Isso pode tornar os gastos com largura de banda mais previsíveis para coleta frequente, enquanto os pacotes residenciais rotativos permanecem baseados em tráfego, já que o tráfego não utilizado é transferido automaticamente para o próximo mês de cobrança. Verifique a localização, velocidade e condições de conexão do plano selecionado antes de contratar.

Conectar, verificar e monitorar o fluxo de trabalho

Conecte o proxy através do seu cliente HTTP Python ou das configurações de proxy suportadas por automações como Scrapy, Playwright, Puppeteer, Selenium ou outro framework compatível. O CyberYozh fornece acesso completo à API e suporte de integração, enquanto a configuração exata depende da ferramenta e do protocolo de proxy selecionado.

Siga esta sequência de configuração:

  1. Recupere os detalhes de conexão. Copie o host, porta, protocolo e detalhes de autenticação da sua configuração de proxy. Mantenha as credenciais em variáveis de ambiente ou em um gerenciador de segredos.

  2. Configure o comportamento da sessão. Escolha rotação para trabalhos independentes ou uma sessão sticky para solicitações relacionadas. Preserve cookies separadamente em sua aplicação.

  3. Verifique a conexão de saída. Confirme que as solicitações usam o proxy e que sua região observada corresponde à sua seleção.

  4. Verifique o contexto de entrega da Amazon. Aplique e verifique o destino na página do produto independentemente da localização do proxy.

  5. Execute um trabalho de coleta pequeno. Monitore registros utilizáveis, tempos de resposta, campos ausentes, consumo de tráfego e falhas repetidas antes de aumentar o volume.

🦔

As verificações de reputação de IP do CyberYozh podem fornecer contexto adicional ao investigar problemas de conexão.

Escolha seu scraper da Amazon: Python, API ou ferramenta no-code

Escolha seu scraper da Amazon com base na frequência com que você precisa de dados, quanto controle o trabalho requer e quem irá mantê-lo. Uma comparação de produtos única tem demandas diferentes de um trabalho de coleta diário alimentando um painel interno.

Python se adequa a fluxos de trabalho que precisam de regras de extração, validação ou armazenamento personalizados. Você controla o código, mas sua equipe também lida com erros de análise, mudanças de página e manutenção contínua.

Uma API gerenciada é adequada para coleta recorrente quando você deseja que o provedor cuide de mais trabalho de extração. Antes de se comprometer, verifique se ela retorna os campos necessários, oferece suporte às suas localizações de destino e cobra por solicitações ou resultados utilizáveis.

Um web scraper sem código funciona bem para pesquisas rápidas e exportações diretas. Verifique seus limites de lote, opções de agendamento e controles de personalização se você espera que a carga de trabalho cresça.

Python para coleta e validação personalizadas

Python oferece controle sobre o que seu scraper da Amazon coleta e o que acontece com cada registro depois. Você pode selecionar os campos que sua pesquisa precisa, agendar a coleta em torno de prazos de relatórios e salvar resultados diretamente em arquivos CSV, bancos de dados ou sistemas internos. Regras de validação personalizadas podem sinalizar uma moeda ausente, um ASIN inesperado ou uma variante alterada antes que o registro chegue à sua análise.

Você também controla como o scraper lida com falhas. Por exemplo, você pode tentar novamente um erro de conexão temporário dentro de um limite definido, registrar um produto indisponível separadamente e pausar um trabalho quando respostas repetidas contiverem conteúdo inesperado.

Uma API de scraper da Amazon para extração gerenciada

Uma API de scraper da Amazon permite que seu aplicativo solicite dados sem manter cada parte do processo de coleta por conta própria. Dependendo do serviço, o provedor cuida da recuperação de páginas, infraestrutura de proxy, novas tentativas, renderização e análise, e então retorna resultados estruturados. Verifique o que está incluído: alguns endpoints retornam conteúdo bruto de página que ainda precisa de extração.

Sua responsabilidade é confirmar que a saída corresponde ao trabalho. Teste os campos de produto necessários, verifique se as configurações de localização de entrega estão aplicadas e verifique a cobertura de avaliações separadamente do suporte à página de produto. Pergunte se os resultados são coletados sob demanda ou servidos de um cache, especialmente ao rastrear preços ou disponibilidade.

Ferramentas sem código para exportações menores e pesquisa rápida

Extensões de navegador e scrapers prontos são práticos para coletar uma lista restrita de produtos concorrentes, verificar preços exibidos ou exportar listagens para um relatório de pesquisa. Você normalmente fornece URLs de produtos ou abre uma página suportada, escolhe os campos disponíveis e exporta os resultados sem escrever código de coleta.

Verifique como a ferramenta funciona antes de confiar nela para trabalho repetido. Uma extensão de navegador pode exigir que seu navegador permaneça aberto, enquanto um scraper hospedado pode oferecer suporte a trabalhos agendados. Verifique limites de lote, formatos de exportação, agendamento e se as configurações de localização de entrega persistem entre execuções.

Existe uma API oficial da Amazon para web scraping?

A Amazon fornece APIs oficiais para usos comerciais definidos, mas estas diferem de serviços de terceiros que extraem conteúdo de sites. Se você está procurando uma API da Amazon para web scraping, primeiro verifique se uma API oficial fornece as informações que seu projeto precisa.

A Selling Partner API (SP-API) oferece suporte a fluxos de trabalho autorizados de vendedores e fornecedores. O acesso depende do aplicativo, funções necessárias e processo de autorização relevante; ter apenas uma conta de compras da Amazon não concede acesso. Aplicativos públicos geralmente exigem autorização de parceiro vendedor, enquanto aplicativos privados usam autoautorização.

A Amazon também oferece uma Customer Feedback API, que fornece insights de avaliações no nível de ASIN e categoria de produto, além de insights de devolução no nível de categoria. Ela abrange tópicos e tendências em vez de fornecer uma exportação completa de cada avaliação individual. O acesso requer uma função elegível, como Brand Analytics ou Selling Partner Insights.

Uma API de scraper da Amazon de terceiros é um serviço de extração de provedor separado. Suas credenciais, campos suportados e cobrança pertencem a esse provedor, e a assinatura não concede autorização da Amazon.

Método

Melhor adequação

Esforço de configuração

Manutenção

Modelo de custo

Scraper Python personalizado

Campos personalizados, validação e fluxos de armazenamento

Maior: construir e testar código de coleta

Sua equipe mantém parsing, dependências e tratamento de erros

Desenvolvimento, hospedagem e quaisquer custos de proxy

API de scraping gerenciada

Coleta recorrente com menos infraestrutura de extração para manter

Moderado: integrar a API e validar a saída

O provedor mantém a extração; você mantém a integração e verificações de dados

Requisições, créditos, registros ou assinatura

Ferramenta no-code

Pesquisa rápida e exportações diretas

Menor: configurar entradas e campos disponíveis

Verificar templates, trabalhos com falha e qualidade da exportação

Limite gratuito, assinatura ou créditos de uso

API oficial da Amazon

Fluxos de trabalho empresariais suportados com o acesso necessário

Varia: registro, funções, autorização e integração

Manter permissões, compatibilidade da API e tratamento de dados

Verificar taxas de programa aplicáveis e custos de integração

Como fazer scraping de dados de produtos da Amazon com Python

Um passo a passo útil em Python deve levá-lo de uma URL de produto a um registro estruturado que você pode inspecionar. Vamos construir esse fluxo de trabalho em etapas: definir os campos necessários, configurar o projeto, buscar uma página, extrair os detalhes do produto e exportar os resultados para CSV ou JSON.

Comece com um pequeno conjunto de URLs de produtos para que você possa comparar a saída com as páginas de origem. Cada registro deve preservar o ASIN, variante selecionada, preço, moeda e timestamp de coleta, com valores ausentes claramente marcados.

Defina seus campos, marketplace e escopo de coleta

Antes de escrever o scraper, decida o que um registro completo deve conter e quais condições devem permanecer consistentes entre as execuções. Para este passo a passo, comece com uma pequena lista de URLs de produtos de um marketplace da Amazon.

Configuração

O que definir

Marketplace

Escolha o domínio da Amazon que você deseja pesquisar, como Amazon.com para os EUA.

URLs de entrada

Use URLs específicas de páginas de produtos e identifique as variantes que você pretende rastrear.

Campos obrigatórios

Comece com ASIN, título, variante selecionada, preço, moeda, disponibilidade, URL de origem e timestamp de coleta. Adicione detalhes do vendedor e de entrega se sua análise precisar deles.

Contexto de entrega

Escolha o país de destino e o código postal, depois verifique se o método de coleta os aplica. Registre configurações não verificadas como desconhecidas.

Frequência de coleta

Ajuste o cronograma à decisão que os dados apoiam, começando com uma única execução antes de introduzir tarefas recorrentes.

Defina quais campos ausentes tornam um registro inutilizável. Um preço ausente, por exemplo, impede uma comparação de preços, mas ainda pode deixar informações úteis de disponibilidade. Preserve essa distinção para que seu scraper da Amazon possa sinalizar registros incompletos sem descartar observações válidas.

Configure seu projeto Python de scraper da Amazon

Comece com um ambiente virtual para manter as dependências do projeto separadas de outras aplicações Python. Esta configuração foi verificada com Python 3.12.14, Requests 2.34.2 e Beautiful Soup 4.15.0. A instalação, importações e análise de HTML de amostra foram aprovadas; a extração ao vivo da Amazon não foi testada nesta etapa.

Requests lida com requisições HTTP, enquanto Beautiful Soup extrai campos do HTML retornado. Nenhum dos dois executa JavaScript.

Crie a pasta do projeto e o ambiente virtual:

bash
mkdir amazon-scraper

cd amazon-scraper

python -m venv .venv

Ative o ambiente usando o comando para o seu sistema operacional.

macOS ou Linux 

bash
source .venv/bin/activate

Windows 

plaintext
.\.venv\Scripts\Activate.ps1 

Instale as versões de dependências verificadas:

bash
python -m pip install requests==2.34.2 beautifulsoup4==4.15.0

Crie um arquivo chamado amazon_scraper.py e adicione a configuração inicial abaixo. Insira os URLs dos produtos-alvo em PRODUCT_URLS, mantendo cada URL entre aspas e separando as entradas com vírgulas. 

python
</> python

import os

from urllib.parse import urlparse

import requests

from bs4 import BeautifulSoup

MARKETPLACE = "www.amazon.com"

REQUEST_TIMEOUT = 30

OUTPUT_FILE = "amazon_products.csv"

PRODUCT_URLS = [

    # Add your target Amazon product URLs here.
]

for url in PRODUCT_URLS:

    parsed = urlparse(url)

    if parsed.scheme != "https" or parsed.hostname != MARKETPLACE:

        raise ValueError("Each URL must use the selected marketplace.")

session = requests.Session()

# Optional: supply the full proxy URL through your environment.

proxy_url = os.environ.get("AMAZON_PROXY_URL")

if proxy_url:

    session.proxies.update({

        "http": proxy_url,

        "https": proxy_url,
    })

Mantenha senhas de proxy e chaves de API em variáveis de ambiente fornecidas através do seu ambiente de desenvolvimento ou gerenciador de segredos de implantação. Evite incorporar credenciais no script, commitá-las no Git ou imprimi-las em logs.

💡

Dica: Esta configuração prepara a sessão, mas não busca páginas de produtos nem define o CEP de entrega da Amazon. Deixe o contexto de entrega não verificado até que o fluxo de coleta o aplique e verifique explicitamente.

Busque uma página de produto e verifique o que foi retornado

Uma resposta HTTP bem-sucedida não garante que seu scraper da Amazon recebeu a página do produto. Um servidor pode retornar HTTP 200 OK com um desafio, tela de login ou outra página inesperada, portanto verifique tanto o status da resposta quanto o conteúdo antes de extrair os campos do produto.

Adicione a função abaixo após sua configuração de sessão. Ela verifica falhas de requisição, redirecionamentos inesperados, respostas não-HTML, indicadores comuns de desafio e um elemento de título do produto.

python
def fetch_product_page(url):

    try:

        response = session.get(url, timeout=REQUEST_TIMEOUT)

        response.raise_for_status()

    except requests.RequestException:

        # Avoid logging exception details that could expose proxy credentials.

        raise RuntimeError(

            "Request failed. Check connectivity and the HTTP response."

        ) from None



    if urlparse(response.url).hostname != MARKETPLACE:

        raise RuntimeError("The request redirected to another domain.")



    content_type = response.headers.get("Content-Type", "").lower()

    if "text/html" not in content_type:

        raise RuntimeError("Expected HTML but received another content type.")


    soup = BeautifulSoup(response.text, "html.parser")

    page_text = soup.get_text(" ", strip=True).lower()


    challenge_markers = (

        "enter the characters you see below",

        "sorry, we just need to make sure you're not a robot",

        "validatecaptcha",
    )



    if (

        soup.select_one('form[action*="validateCaptcha"]')

        or any(marker in page_text for marker in challenge_markers)

    ):

        raise RuntimeError(

            "A challenge page was returned. Pause and review the request."

        )



    title = soup.select_one("#productTitle")

    if title is None or not title.get_text(strip=True):

        raise RuntimeError(

            "Product title not found. The page may be unexpected "

            "or its structure may have changed."

        )


    return soup, response.url

Chame a função para um URL antes de processar a lista completa: 

python
if not PRODUCT_URLS:
    raise SystemExit("Add a product URL to PRODUCT_URLS first.")

try:
    soup, final_url = fetch_product_page(PRODUCT_URLS[0])
    print("Page passed the initial checks.")
    print("Title:", soup.select_one("#productTitle").get_text(strip=True))
except RuntimeError as error:
    print("Collection stopped:", error)

Beautiful Soup analisa o HTML aqui para inspecionar sua estrutura; a extração do registro do produto vem a seguir. Essas verificações são preliminares: a redação do desafio e os layouts de página podem mudar, e encontrar um título não confirma o ASIN solicitado, a variante selecionada ou o local de entrega. Verifique-os separadamente antes de aceitar o registro. 

Extraia campos do produto e trate valores ausentes

Depois que a página passar nas verificações iniciais, extraia um pequeno conjunto de campos: ASIN, título, preço exibido e disponibilidade. Mantenha o URL de origem e o timestamp de coleta com cada registro para que você possa rastreá-lo depois.

Use None quando um campo estiver ausente. Um preço ausente pode significar que a oferta está indisponível, a página requer outra seleção ou o seletor não corresponde mais. Convertê-lo para zero introduziria um preço falso em sua análise.

Adicione o seguinte abaixo de suas funções existentes.

python
from datetime import datetime, timezone


def text_or_none(soup, selector):
    element = soup.select_one(selector)
    if element is None:
        return None
 return element.get_text(" ", strip=True) or None


def extract_product_fields(soup, source_url):
    asin_element = soup.select_one("input#ASIN")
    asin = (
        asin_element.get("value", "").strip() or None
        if asin_element is not None
        else None
    )

    # Limit extraction to the main price area to reduce the chance
    # of collecting a price from recommendations or another offer.
    price_text = text_or_none(
        soup,
        "#corePriceDisplay_desktop_feature_div "
        ".priceToPay .a-offscreen",
    )

    return {
        "asin": asin,
        "title": text_or_none(soup, "#productTitle"),
        "price_text": price_text,
        "availability_text": text_or_none(soup, "#availability"),
        "source_url": source_url,
        "collected_at": datetime.now(timezone.utc).isoformat(),
    }

Mantenha o preço como texto exibido nesta etapa. Separar seu valor numérico e moeda requer validação contra a formatação do marketplace; um símbolo de moeda sozinho pode ser ambíguo.

Após uma busca bem-sucedida, chame a função de extração:

record = extract_product_fields(soup, final_url)

missing_fields = [
    field
    for field in ("asin", "title", "price_text", "availability_text")
    if record[field] is None
]

print(record)
print("Missing fields:", missing_fields)

Coloque esta chamada dentro do bloco try bem-sucedido da etapa anterior, imediatamente após fetch_product_page(), para que a extração não seja executada após uma requisição com falha. 

Um valor ausente deve acionar inspeção em vez de uma busca mais ampla por qualquer preço na página. Antes de usar o registro para comparações, verifique também o ASIN solicitado, a variante selecionada, o vendedor e o contexto de entrega. 

Exporte para CSV ou JSON e valide uma amostra

Exporte cada registro de produto com seu URL de origem, timestamp de coleta, marketplace e contexto de entrega. Mantenha o CEP solicitado separado do local realmente observado na página: inserir um alvo em sua configuração não prova que a Amazon o aplicou.

JSON preserva valores ausentes como null, enquanto esta exportação CSV os deixa em branco. Nenhum formato deve substituir um preço ausente por zero.

Adicione esta função abaixo de suas funções existentes.

python
import csv
import json


def export_records(records, csv_path, json_path):
    if not records:
        raise ValueError("No records to export.")

    fields = list(records[0])

    with open(csv_path, "w", encoding="utf-8", newline="") as file:
        writer = csv.DictWriter(file, fieldnames=fields)
        writer.writeheader()
        writer.writerows(records)

    with open(json_path, "w", encoding="utf-8") as file:
        json.dump(
            records,
            file,
            ensure_ascii=False,
            indent=2,
            allow_nan=False,
        )

Substitua o bloco de teste de URL único anterior pelo seguinte. Ele conecta busca, extração e exportação usando as funções já definidas. 

python
if not PRODUCT_URLS:
    raise SystemExit("Add a product URL to PRODUCT_URLS first.")

# Leave unknown until you implement delivery-location controls.
REQUESTED_DELIVERY_ZIP = None

try:
    soup, final_url = fetch_product_page(PRODUCT_URLS[0])
    record = extract_product_fields(soup, final_url)

    record.update({
        "marketplace": urlparse(final_url).hostname,
        "requested_delivery_zip": REQUESTED_DELIVERY_ZIP,
        "observed_delivery_zip": None,
        "delivery_location_verified": False,
    })

    export_records(
        [record],
        OUTPUT_FILE,
        "amazon_products.json",
    )
    print("Exported one record. Validate it before using it.")

except (RuntimeError, ValueError, OSError) as error:
    print("Job stopped:", type(error).__name__)

O seguinte é um exemplo mostrando como campos ausentes aparecem. 

json
{
  "asin": null,
  "title": "Sample product, blue",
  "price_text": null,
  "availability_text": null,
  "source_url": "https://www.amazon.com/dp/EXAMPLE123",
  "collected_at": "2026-10-14T14:00:00+00:00",
  "marketplace": "www.amazon.com",
  "requested_delivery_zip": null,
  "observed_delivery_zip": null,
  "delivery_location_verified": false
}

Verificação de validação: A função de exportação foi testada no Python 3.12.14 com um registro de amostra. O JSON preservou valores ausentes e a flag booleana de localização, o CSV preservou um título contendo uma vírgula e deixou valores ausentes em branco, e a entrada vazia foi rejeitada. Isso verifica o comportamento de exportação; não verifica a recuperação ao vivo da Amazon ou os seletores.

Antes de agendar seu projeto de Amazon scraper Python, inspecione alguns registros em relação às suas páginas de origem:

  • Confirme se o ASIN, a variante selecionada e o vendedor correspondem ao produto e à oferta pretendidos.

  • Compare o preço exibido e a moeda sob as mesmas configurações de entrega.

  • Verifique os carimbos de data/hora e URLs de origem, e investigue campos obrigatórios ausentes.

  • Mantenha registros dependentes de localização fora das comparações até que seu contexto de entrega seja verificado.

Falhas esperadas incluem solicitações bloqueadas, layouts de página alterados, detalhes de oferta ausentes e erros de gravação de arquivo. Um registro parcial ainda pode conter informações úteis, mas não deve ser considerado como uma observação de preço completa.

💡

Aprender como fazer scraping da Amazon inclui reconhecer esses limites. Se você deseja entender como fazer scraping de dados da Amazon de forma confiável, valide os registros salvos antes de aumentar o volume de coleta.

Como usar um Amazon ASIN scraper sem misturar produtos

Um Amazon ASIN scraper ajuda você a construir uma lista de identificadores de produtos e recuperar seus detalhes associados. Para comparações confiáveis, mantenha esses identificadores conectados ao marketplace correto, variante selecionada e oferta do vendedor. Caso contrário, uma mudança entre produtos ou ofertas pode parecer uma alteração de preço.

O que é um Amazon Standard Identification Number?

Um Amazon Standard Identification Number (ASIN) é um identificador alfanumérico de 10 caracteres usado para identificar um item no catálogo da Amazon. Ele fornece ao seu fluxo de trabalho de coleta uma referência mais precisa do que um título de produto, que pode mudar ou se assemelhar a outras listagens.

Armazene o marketplace junto com cada ASIN e distinga o identificador do SKU do vendedor. O ASIN identifica o item do catálogo, enquanto um SKU do vendedor identifica uma listagem dentro do próprio sistema de inventário desse vendedor. As APIs da Amazon usam esses identificadores para operações diferentes.

Extrair ASINs de URLs de produtos e resultados de pesquisa

Trate a descoberta de ASIN como uma etapa separada da coleta de preços, disponibilidade e outros detalhes do produto. Uma lista de identificadores informa ao seu scraper quais itens investigar; ela não confirma quanto esses itens custam atualmente.

Use esta sequência quando você fizer scraping de dados de ASIN da Amazon:

  1. Descubra identificadores candidatos. Extraia-os de links de produtos ou atributos de listagem no HTML da página de pesquisa retornada. Preserve a URL de origem e, para resultados de pesquisa, a consulta e a posição.

  2. Valide o formato. Verifique exatamente 10 letras ou dígitos. Passar nesta verificação apenas confirma o formato esperado, não que o ASIN existe ou representa sua variante pretendida.

  3. Remova duplicatas da fila de coleta. Use o marketplace e o ASIN juntos para evitar buscar o mesmo item do catálogo repetidamente.

  4. Busque e verifique os detalhes do produto. Compare o identificador descoberto com o item realmente retornado, depois verifique a variante selecionada antes de aceitar seus dados de oferta.

Mantenha as observações de pesquisa separadamente da fila sem duplicatas. Um ASIN aparecendo sob duas consultas pode exigir apenas uma busca de produto, mas ambas as aparições podem importar para análise de visibilidade.

Mantenha produtos pai, variantes filho e ofertas de vendedores separados

Um ASIN pai agrupa variações relacionadas e não é em si uma oferta comprável. Um ASIN filho identifica uma variação específica, como uma combinação de tamanho e cor. As ofertas de vendedores ficam abaixo dessa identidade de produto e descrevem quem está vendendo, em que condição e a que preço.

Considere este exemplo ilustrativo:

Nível

Exemplo

O que seu scraper deve preservar

Família de produtos

Uma camiseta oferecida em vários tamanhos e cores

ASIN pai e sua relação com os produtos filhos

Variante selecionada

Camiseta azul, tamanho médio

ASIN filho, cor e tamanho

Oferta do vendedor

O Vendedor A oferece essa variante nova por $18, mais $3 de frete

Identificador do vendedor, condição, preço do item, frete e horário de coleta

Suponha que a próxima execução capture uma camiseta azul tamanho grande por $24. Essa é uma variante diferente, portanto, relatar um aumento de $6 seria enganoso. Se a camiseta média aparecer em vez disso por $20 do Vendedor B, a oferta observada mudou, mas isso não estabelece que o Vendedor A aumentou seu preço.

Para monitoramento de preços, compare o mesmo marketplace, ASIN filho, vendedor, condição e contexto de entrega ao longo dos horários de coleta. Se seu objetivo é rastrear qualquer oferta que a Amazon exiba, registre mudanças de vendedor explicitamente para que você possa explicar o que mudou.

Como fazer scraping de avaliações da Amazon e medir a cobertura

Para entender como fazer scraping de avaliações da Amazon de forma confiável, comece definindo o feedback de que você precisa e verificando quanto seu método escolhido pode recuperar. Um scraper de avaliações da Amazon pode retornar registros úteis sem cobrir todas as avaliações associadas a um produto. Meça essa cobertura antes de tirar conclusões sobre o sentimento do cliente.

Escolha os campos de avaliação que sua pesquisa precisa

Colete informações suficientes para analisar o feedback, identificar duplicatas e rastrear cada registro de volta à sua origem.

Campo

Por que importa

ID da avaliação

Identifica uma avaliação para desduplicação e coleta repetida.

Classificação

Conecta o feedback escrito à sua pontuação em estrelas.

Título e texto

Capture os comentários do cliente para análise de tópicos e sentimento.

Data da avaliação

Ajuda a separar experiências recentes de feedback mais antigo.

Indicador de compra verificada

Preserva o rótulo de verificação de compra quando disponível; não é uma garantia de precisão.

Variante relevante

Registra o tamanho, cor ou outra opção associada à avaliação quando exibida.

URL de origem

Fornece uma referência para verificar o feedback original.

💡

Mantenha campos indisponíveis como valores ausentes. Por exemplo, um indicador que seu scraper falhou em extrair deve permanecer desconhecido em vez de ser registrado como "não verificado". Armazene o timestamp de coleta separadamente da data de publicação da avaliação.

Como fazer scraping da Amazon por código postal

Aprender como fazer scraping da Amazon por código postal começa com a definição do destino de entrega e a confirmação de que ele permanece aplicado quando você coleta os dados do produto. Uma conexão de proxy dos EUA sozinha não estabelece o código postal que a Amazon usa para estimativas de entrega.

O exemplo em Python acima ainda não implementa controles de localização de entrega. Seus campos de localização permanecem não verificados até que você adicione um fluxo de trabalho de navegador ou use um serviço de scraping com suporte documentado para as configurações de entrega da Amazon.

Definir e verificar a localização de entrega

Para um fluxo de trabalho baseado em navegador, use a seguinte sequência:

  1. Abrir o marketplace de destino

  2. Abrir o seletor de localização de entrega da Amazon

  3. Aguardar a atualização da página

  4. Abrir o produto de destino e selecionar sua variante

  5. Capturar a localização observada juntamente com os campos do produto

Manter as configurações de entrega e o contexto de sessão consistentes

Várias configurações contribuem para o contexto de coleta, mas servem a propósitos diferentes.

Configuração

Sua função

O que verificar

Domínio do marketplace

Seleciona a loja da Amazon que está sendo consultada

A solicitação e a página final usam o domínio pretendido.

Endereço de entrega ou código postal

Especifica o destino usado para informações de entrega

A página do produto reflete o destino solicitado.

Cookies e sessão do navegador

Preservam seleções de localização e outros estados de navegação

A localização permanece aplicada após navegação e atualização.

Localização do proxy

Controla a localização de saída da rede

A conexão usa a região pretendida sem presumir que ela define o código postal de entrega.

Para um fluxo de trabalho de navegador personalizado, uma sessão proxy sticky pode ajudar a preservar a continuidade da rede. Ela não substitui a etapa de seleção de localização nem prova que a Amazon reteve o destino escolhido.

Comparar o mesmo produto sob condições controladas

Comece com um ASIN filho e dois códigos postais, coletando ambas as observações dentro de uma janela curta. Mantenha a variante selecionada, condição do produto, quantidade e estado da conta consistentes. Mantenha o vendedor constante sempre que possível; se o vendedor exibido mudar, registre essa mudança antes de interpretar uma diferença de preço.

Salve estes detalhes com cada observação:

  • Código postal solicitado, localização de entrega observada e status de verificação.

  • Marketplace, ASIN filho, variante selecionada, vendedor e condição.

  • Preço do item exibido, moeda, taxa de envio, disponibilidade e estimativa de entrega.

  • URL de origem e timestamp de coleta.

Para uma pequena comparação, use o seguinte modelo de registro. É uma planilha de teste, não resultados observados da Amazon.

Observação

Execução ZIP-code A

Execução ZIP-code B

ZIP code solicitado

10001

90001

Localização de entrega observada

Registrar da resposta

Registrar da resposta

Timestamp da coleta

Registrar horário real

Registrar horário real

ASIN filho e variante

Registrar e comparar

Registrar e comparar

Vendedor e condição

Registrar e comparar

Registrar e comparar

Preço do item e envio

Registrar separadamente

Registrar separadamente

Disponibilidade e estimativa de entrega

Registrar valores exibidos

Registrar valores exibidos

💡

Uma comparação de ZIP-code descreve essas observações naqueles momentos. Ela não deve ser apresentada como prova de uma diferença permanente de preço regional.

Como escolher a melhor API de scraping de e-commerce para dados de produtos da Amazon

A melhor API de scraping de e-commerce para dados de produtos da Amazon é aquela que retorna os campos que seu fluxo de trabalho precisa, nas condições de coleta corretas, a um custo sustentável. Avalie os provedores com base nas mesmas entradas e critérios de aceitação para que uma resposta rápida, mas incompleta, não supere um registro mais lento e utilizável no papel.

Verifique a cobertura de campos, controles de localização e suporte a avaliações

Transforme os requisitos do seu conjunto de dados em uma lista de verificação antes de testar. Separe campos essenciais dos opcionais: um trabalho de monitoramento de preços pode exigir o ASIN filho, vendedor, preço, moeda e contexto de entrega, enquanto a descoberta de produtos pode priorizar títulos, marcas, categorias e identificadores.

Verifique a documentação de cada capacidade necessária e, em seguida, confirme na saída. O suporte para "dados da Amazon" não estabelece que cada endpoint lida com variantes, ofertas de vendedores, ZIP codes de entrega e avaliações igualmente bem.

Meça resultados utilizáveis, tempo de resposta e custo total

Defina um resultado utilizável antes de calcular o sucesso. Para uma comparação de preços, isso pode significar um registro com o ASIN filho correto, campos de oferta necessários, contexto de entrega verificado e um timestamp de coleta aceitável. Para monitoramento de disponibilidade, um produto indisponível corretamente identificado pode ser útil mesmo sem um preço.

Use a mesma definição entre provedores:

Taxa de resultados utilizáveis = observações solicitadas que atendem aos seus critérios de aceitação ÷ total de observações solicitadas × 100

Uma observação é uma verificação planejada de produto e localização em um momento específico de coleta. Tentativas repetidas e respostas duplicadas não devem aumentar o número de observações bem-sucedidas.

Rastreie falhas por causa: campos obrigatórios ausentes, produto ou localização incorretos, saída duplicada, falha de recuperação e falha de análise. Isso facilita ver se a fraqueza de um provedor afeta sua carga de trabalho real.

Meça o tempo decorrido até que os dados utilizáveis estejam disponíveis, incluindo tentativas repetidas e polling assíncrono. Para testes maiores, compare tempos de resposta típicos com solicitações mais lentas, em vez de confiar apenas em uma média.

Calcule o custo usando o mesmo princípio:

Custo por observação utilizável = total de cobranças de teste ÷ observações utilizáveis

Inclua tentativas faturáveis, cobranças de renderização, recursos de localização e outros extras necessários. Para trabalhos recorrentes, considere também os mínimos de assinatura e o trabalho necessário para limpar ou reparar a saída.

Teste uma amostra representativa antes de escalar

Comece com aproximadamente 20 URLs de produtos em três ou quatro categorias, cobrindo diferentes variantes e alguns produtos observados como indisponíveis. Execute cada um contra dois códigos postais de entrega para um primeiro teste gerenciável de cerca de 40 observações.

Mantenha entradas e configurações consistentes entre provedores, colete dentro de uma janela curta e registre quaisquer alterações na página de origem que possam afetar a comparação. Inspecione cada registro nesta amostra inicial antes de introduzir um cronograma recorrente.

Use esta tabela para documentar os resultados:

Requisito

Teste

Resultado

Limitação

Campos de produto obrigatórios

Verifique cada registro em relação à lista de campos acordada

Registre observações completas do total

Anote campos que estão ausentes ou preenchidos de forma inconsistente.

Variante correta

Compare o ASIN filho retornado e os atributos com a variante solicitada

Registre correspondências e incompatibilidades

Sinalize redirecionamentos ou seleções de variantes não resolvidas.

Controle de localização de entrega

Solicite dois códigos postais e inspecione o contexto de entrega observado

Registre correspondências de localização verificadas

Indique quando apenas o código postal solicitado for retornado.

Produtos indisponíveis

Verifique se os itens indisponíveis são identificados sem inventar preços

Registre status precisos

Distinga a indisponibilidade da fonte da falha de extração.

Suporte de avaliações

Teste um trabalho de avaliação pequeno separado com filtros e paginação definidos

Registre avaliações utilizáveis únicas

Documente limites de acesso e cobertura desconhecida.

Atualização

Inspecione os timestamps de coleta e o comportamento de cache documentado

Registre a atualização em relação ao seu requisito

Sinalize timestamps que indicam apenas o tempo de resposta.

Tempo de resposta

Meça o tempo desde o envio até a saída utilizável, incluindo tentativas

Registre os tempos típicos e mais lentos

Uma amostra pequena não estabelece desempenho em escala.

Custo total

Reconcilie o uso faturado com as observações utilizáveis

Registre o custo por observação utilizável

Inclua extras obrigatórios e mínimos de assinatura.

Escolha com base nos requisitos que mais importam para o seu fluxo de trabalho de scraping de dados de produtos da Amazon. Um provedor que tem bom desempenho neste pequeno teste merece um teste maior; ele ainda não demonstrou o mesmo desempenho em todo o seu catálogo.

Usando código do GitHub para o seu scraper da Amazon

Pesquisar por "how to scrape amazon product data github" pode levá-lo a scrapers executáveis, integrações de API e tutoriais com requisitos muito diferentes. Antes de instalar um repositório, estabeleça o que ele faz localmente, de quais serviços depende e se sua saída corresponde ao seu projeto.

Verifique o que o repositório realmente fornece

Leia o README junto com o código que envia as solicitações. O nome do repositório sozinho não informa como a coleta funciona.

Tipo de repositório

O que fornece

O que verificar

Scraper autônomo

Código que recupera páginas e extrai campos

Se você deve fornecer proxies, dependências de navegador ou infraestrutura adicional

Cliente de API

Código que se comunica com um serviço separado

Credenciais necessárias, endpoints suportados e cobranças de serviço

Tutorial

Um exemplo demonstrando uma técnica específica

Quais etapas de configuração, validação e tratamento de erros permanecem inacabadas

Exemplo de serviço comercial

Código de exemplo mostrando como usar o produto de um provedor

Requisitos de conta, limites de teste e dependências pagas

Por que o seu scraper da Amazon retorna resultados bloqueados, vazios ou incorretos

Quando um scraper da Amazon produz saída inesperada, inspecione a resposta antes de alterar as configurações de conexão. Uma solicitação bloqueada, uma oferta ausente e um seletor quebrado exigem correções diferentes. Rotacionar o IP não vai reparar um parser ou restaurar um local de entrega que nunca foi aplicado.

Sintoma

O que investigar

O que fazer em seguida

Página de acesso negado ou desafio

Status HTTP, conteúdo da página retornada, frequência de solicitação e restrições de acesso

Pause falhas repetidas e revise o método de coleta. Use tentativas limitadas para erros temporários em vez de solicitar repetidamente uma página de desafio.

Resposta bem-sucedida, mas sem campos de produto

Se a resposta contém uma página de produto, marcação inesperada ou conteúdo ausente do HTML inicial

Inspecione o HTML retornado. Atualize os seletores somente após confirmar que o conteúdo pretendido está presente; avalie a renderização do navegador se os campos necessários carregarem dinamicamente.

Preço ausente

Disponibilidade do produto, variante selecionada, oferta do vendedor e o seletor de preço

Compare a página com o registro extraído. Preserve o valor ausente e registre a causa provável em vez de substituir por zero ou coletar um preço não relacionado.

Informações de entrega incorretas

Se o código postal foi aplicado e mantido durante a navegação ou mudanças de sessão

Verifique o destino observado na página do produto. Reaplique e verifique a localização, depois repita a observação afetada.

Produtos ou avaliações duplicados

Paginação repetida, entradas sobrepostas e tratamento de identificadores

Remova duplicatas das filas de busca de produtos por marketplace e ASIN, e avaliações por marketplace e ID de avaliação quando disponível. Preserve observações intencionais de diferentes momentos ou localizações.

Resultados diferentes entre execuções

Momento da coleta, variante selecionada, vendedor, condição, localização de entrega e configurações de sessão

Compare o contexto salvo antes de rotular uma diferença como mudança de preço ou disponibilidade. Repita a verificação sob condições consistentes se a causa permanecer incerta.

Mantenha um log de erros resumido com a URL de origem, timestamp, status da resposta, categoria de falha e configurações de coleta relevantes. Exclua credenciais e valores de sessão sensíveis. Isso fornece evidências suficientes para distinguir problemas de recuperação de erros de extração e mudanças genuínas na página.

Scraping de dados de produtos da Amazon: melhores práticas e diretrizes éticas

Web scraping ético começa com um propósito definido: quais informações você precisa, como irá obtê-las e o que planeja fazer com elas depois. Se você está procurando por "scraping de dados de produtos da Amazon melhores práticas diretrizes éticas", use as verificações a seguir para transformar essas questões em decisões concretas.

Revise os termos da Amazon e o uso pretendido dos dados

Conteúdo publicamente visível não vem automaticamente com permissão irrestrita para coletar, armazenar ou republicar. As Condições de Uso da Amazon abordam mineração de dados, robôs e ferramentas de extração similares. Revise os termos aplicáveis ao seu marketplace e qualquer API ou serviço de dados que você usar antes de iniciar a coleta.

Considere coleta e reutilização separadamente. Análise interna de preços, publicação de trechos de avaliações e redistribuição de um conjunto de dados de produtos envolvem diferentes usos do material. Confirme as permissões relevantes para seu projeto, incluindo quaisquer restrições sobre retenção, exibição ou redistribuição. Uma assinatura de scraping ou conexão proxy não concede por si só direitos sobre o conteúdo da Amazon.

Preserve a proveniência e documente as limitações

Outra pessoa deve ser capaz de entender de onde um registro veio e o que ele representa sem reconstruir seu scraper. Preserve a URL de origem, marketplace, ASIN, timestamp de coleta, variante selecionada, vendedor e contexto de entrega solicitado e observado quando relevante.

Adicione uma nota de coleta resumida documentando:

  • A versão da ferramenta ou código e as configurações de coleta.

  • Filtros, ordenação, paginação e condições de parada.

  • Campos ausentes, requisições com falha e regras de remoção de duplicatas.

  • Se as configurações de localização foram verificadas e os resultados foram armazenados em cache.

  • Lacunas de cobertura conhecidas, particularmente para avaliações de clientes.

Mantenha valores observados separados de suposições ou campos calculados. Se a cobertura for desconhecida, diga isso; se um preço estiver ausente, deixe-o ausente. Essas distinções tornam o conjunto de dados mais fácil de auditar e ajudam a prevenir comparações enganosas.

🦔

Para um fluxo de trabalho personalizado, explore o catálogo de proxies do CyberYozh App e escolha a infraestrutura com base nas suas localizações-alvo, duração de sessão necessária e tráfego esperado. Comece com um trabalho de coleta pequeno e validado antes de expandir a carga de trabalho.

FAQ sobre scraping da Amazon