Voltar ao blog

Proxies para extração de características de produtos: como coletar dados de marketplaces sem bloqueios

Guia detalhado para escolher e configurar proxies para extrair características de produtos de marketplaces: tipos de proxies, rotação de IP, contorno de sistemas anti-bot Wildberries e Ozon.

📅26 de janeiro de 2026
```html

O scraping de características de produtos em marketplaces é uma tarefa criticamente importante para vendedores, analistas e agregadores de preços. Wildberries, Ozon, Yandex.Market e outras plataformas bloqueiam ativamente a coleta automática de dados, utilizando sistemas anti-bot avançados. Sem proxies configurados corretamente, seu scraper será banido após 50-100 requisições. Neste artigo, vamos discutir quais tipos de proxies são adequados para scraping, como configurar a rotação de IP e contornar a proteção dos maiores marketplaces.

Por que os marketplaces bloqueiam scraping e como isso funciona

Os marketplaces modernos perdem milhões de rublos devido ao scraping: concorrentes copiam descrições de produtos, agregadores interceptam tráfego, e a carga nos servidores aumenta. Portanto, Wildberries, Ozon, Yandex.Market e outras plataformas implementaram uma proteção em múltiplas camadas contra a coleta automática de dados.

Como os marketplaces detectam scraping:

  • Frequência de requisições de um único IP — se um único endereço recebe 100+ requisições por minuto, isso é um sinal claro de um bot. Um usuário comum visualiza 5-10 páginas de produtos nesse tempo.
  • Ausência de JavaScript — scrapers simples usando requests ou curl não executam código JS, que carrega preços e características. O site percebe que o conteúdo está sendo solicitado sem renderização.
  • User-Agent e cabeçalhos — cabeçalhos padrão de bibliotecas (por exemplo, "python-requests/2.28.0") revelam instantaneamente um bot. A ausência de cabeçalhos Accept-Language, Referer também é suspeita.
  • Fingerprint do navegador — sistemas avançados (Cloudflare, Kasada, DataDome) analisam Canvas, WebGL, fontes, extensões do navegador. Navegadores headless como Puppeteer são facilmente detectados pela ausência de certos parâmetros.
  • Padrões comportamentais — um bot abre páginas de produtos com intervalos iguais (por exemplo, exatamente a cada 2 segundos), não rola a página, não move o mouse. Isso o distingue de um ser humano real.

Consequências do bloqueio: Banimento temporário do IP por 1-24 horas, CAPTCHA em cada requisição, bloqueio total do intervalo de IP do data center. Para os negócios, isso significa a interrupção da coleta de dados e perda de vantagem competitiva.

Caso real: Um agregador de preços estava fazendo scraping do Wildberries com 10 IPs de data center, realizando 500 requisições por hora de cada um. Após 3 dias, todo o intervalo /24 recebeu um banimento permanente — foi necessário mudar o provedor de proxies e passar para IPs residenciais com rotação.

Comparação de tipos de proxies para scraping de produtos

Para o scraping de características de produtos, são utilizados três tipos principais de proxies. Cada um tem suas vantagens e limitações dependendo do volume de dados, orçamento e requisitos de velocidade.

Tipo de proxy Velocidade Risco de banimento Custo Quando usar
Proxies de data center Alta (50-200 ms) Alto Baixo Scraping de pequenos volumes (até 10.000 produtos/dia), teste do scraper
Proxies residenciais Média (200-800 ms) Baixo Alto (por tráfego) Scraping do Wildberries, Ozon com proteção contra bots, grandes volumes de dados
Proxies móveis Média (300-1000 ms) Muito baixo Muito alto Scraping com máxima proteção, contornando bloqueios severos, projetos críticos

Proxies de data center — são endereços IP de servidores em data centers (AWS, Hetzner, OVH). Eles são rápidos e baratos, mas os marketplaces facilmente os identificam por meio de bancos de dados ASN. São adequados para scraping de pequenos catálogos (até 10.000 produtos por dia) ou plataformas sem proteção séria. Custo: a partir de 1-3$ por IP por mês.

Proxies residenciais — são IPs de usuários domésticos, obtidos legalmente através de SDK em aplicativos. Os marketplaces os percebem como compradores comuns. Ideais para scraping do Wildberries, Ozon, Yandex.Market em grandes volumes. Custo: a partir de 5-15$ por 1 GB de tráfego (aproximadamente 10.000-30.000 requisições).

Proxies móveis — IPs de operadoras móveis (MTS, Beeline, MegaFon). O tipo mais confiável para contornar proteções, mas caro e lento. Use apenas para tarefas críticas, onde o bloqueio é inaceitável. Custo: a partir de 50-150$ por IP por mês com rotação.

Proxies residenciais ou de data center: o que escolher para sua tarefa

A escolha do tipo de proxy depende de três fatores: volume de scraping, nível de proteção da plataforma e orçamento. Vamos analisar cenários específicos de uso.

Quando usar proxies de data center

Cenário 1: Testando o scraper
Você está desenvolvendo um novo scraper e testando a lógica de extração de dados. É necessário coletar 100-500 produtos para depuração. Nesse caso, proxies residenciais são um desperdício excessivo de dinheiro. Pegue 5-10 IPs de data center e faça 50-100 requisições de cada um por hora. Isso será suficiente para testar sem bloqueios.

Cenário 2: Scraping de plataformas sem proteção
Pequenos marketplaces regionais, quadros de anúncios como Avito (em algumas categorias), lojas online em OpenCart frequentemente não têm sistemas anti-bot sérios. Aqui, os data centers funcionam de forma estável sob carga moderada (até 200 requisições por hora por IP).

Cenário 3: Orçamento limitado e pequenos volumes
Se você precisa coletar 5.000-10.000 produtos por dia e o orçamento é limitado, experimente data centers com rotação agressiva (mudança de IP a cada 50-100 requisições). Sim, haverá mais bloqueios, mas com a configuração correta da lógica de retry (repetição da requisição com um novo IP), isso funciona.

Quando são necessários proxies residenciais

Cenário 1: Scraping do Wildberries e Ozon
Essas plataformas utilizam Cloudflare, DataDome e seus próprios sistemas anti-bot. Com data centers, você receberá CAPTCHA ou banimento após 20-50 requisições. Proxies residenciais com rotação a cada 5-10 minutos permitem coletar centenas de milhares de produtos sem problemas. Um cliente coletou todo o catálogo do Wildberries (20+ milhões de produtos) em uma semana, usando um pool de 1.000 IPs residenciais.

Cenário 2: Scraping com autenticação
Algumas características de produtos (preços de atacado, estoques) estão disponíveis apenas para usuários autenticados. Se você está fazendo scraping através de uma conta, o uso de data centers resultará no bloqueio da conta. Proxies residenciais imitam as ações de um usuário real, reduzindo o risco de banimento.

Cenário 3: Geotargeting
Os preços e a disponibilidade de produtos no Wildberries, Ozon, Yandex.Market dependem da região do usuário. Para coletar dados de Moscovo, São Petersburgo e Ecaterimburgo simultaneamente, são necessários proxies residenciais com seleção de cidade. Data centers não permitem controlar a geolocalização com precisão.

Fórmula para escolher o tipo de proxy:

  • Volume < 10.000 produtos/dia + sem proteção severa = data centers
  • Volume > 10.000 produtos/dia + Wildberries/Ozon = residenciais
  • Scraping com autenticação + risco de banimento da conta = residenciais
  • Necessidade de geotargeting por cidades da Rússia = residenciais
  • Projeto crítico + tolerância zero a bloqueios = móveis

Configuração da rotação de IP: intervalos e estratégias

A rotação de IP é a mudança automática do servidor proxy após um determinado número de requisições ou tempo. A configuração correta da rotação é a chave para um scraping estável sem bloqueios.

Tipos de rotação de proxies

1. Rotação por tempo (Time-based rotation)
O IP muda após um intervalo fixo: 5 minutos, 10 minutos, 30 minutos. Este é o método mais simples, mas não o mais eficaz. Se você faz 200 requisições em 5 minutos, e o limite da plataforma é de 100 requisições por IP, você ainda receberá um banimento.

Quando usar: Para proxies residenciais com baixa carga (até 50 requisições por IP). Por exemplo, scraping do Wildberries com intervalo de 3-5 segundos entre requisições — a rotação a cada 10 minutos será ideal.

2. Rotação por número de requisições (Request-based rotation)
O IP muda após N requisições: 50, 100, 200. Isso é mais preciso do que a rotação temporal, mas requer monitoramento do contador de requisições no código do scraper.

Quando usar: Para data centers e scraping agressivo. Por exemplo, você sabe que Ozon bloqueia após 80 requisições por IP — configure a rotação a cada 70 requisições como margem de segurança.

3. Rotação por requisição (Per-request rotation)
Cada requisição passa por um novo IP. Máxima proteção contra bloqueios, mas a estratégia mais cara para proxies residenciais (o consumo de tráfego aumenta devido à criação de novas conexões).

Quando usar: Para contornar as proteções mais severas (Cloudflare em modo "Under Attack"), scraping com alto risco de banimento da conta, coleta de dados de concorrentes que monitoram scraping.

Intervalos de rotação recomendados para plataformas populares

Plataforma Tipo de proxy Intervalo de rotação Atraso entre requisições
Wildberries Residenciais A cada 5-10 minutos ou 50 requisições 2-4 segundos
Ozon Residenciais A cada 7-12 minutos ou 60 requisições 3-5 segundos
Yandex.Market Residenciais A cada 10-15 minutos ou 80 requisições 2-3 segundos
Avito (categoria produtos) Data centers A cada 15-20 minutos ou 100 requisições 1-2 segundos
AliExpress Residenciais A cada 3-5 minutos ou 30 requisições 4-6 segundos

Ponto importante: Esses números são o resultado de testes realizados em 2024. Os marketplaces estão constantemente atualizando suas proteções, portanto, recomenda-se começar com configurações conservadoras (menos requisições, mais atraso) e aumentar gradualmente a carga, monitorando a porcentagem de bloqueios.

Estratégia de rotação "inteligente"

Em vez de intervalos fixos, use rotação adaptativa com base nas respostas do servidor:

  • HTTP 429 (Too Many Requests) — troca imediata de IP e adição desse IP à lista negra por 30-60 minutos.
  • HTTP 403 (Forbidden) ou CAPTCHA — troca de IP e aumento do atraso entre requisições em 50%.
  • HTTP 503 (Service Unavailable) — pode ser que o problema não esteja no proxy, mas na sobrecarga do site. Pausa de 30-60 segundos sem troca de IP.
  • Requisições bem-sucedidas consecutivas > 100 — é possível reduzir um pouco o atraso ou aumentar o número de requisições antes da rotação.

Essa lógica é implementada no código do scraper e permite economizar até 30-40% do tráfego de proxies, evitando rotações desnecessárias.

Contornando sistemas anti-bot do Wildberries, Ozon e Yandex.Market

Os marketplaces modernos utilizam proteção em múltiplas camadas: desde a simples verificação do User-Agent até o fingerprinting avançado do navegador. Apenas proxies não são suficientes — é necessária uma estratégia abrangente de contorno.

Nível 1: Cabeçalhos HTTP corretos

O conjunto mínimo de cabeçalhos que seu scraper deve enviar:

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: pt-BR,pt;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Cache-Control: max-age=0

Pontos críticos:

  • O User-Agent deve corresponder a um navegador real. Use versões atuais do Chrome 120+, Firefox 121+. Não use versões antigas (Chrome 90) — isso é um sinal vermelho.
  • O Accept-Language deve ser "pt-BR" para plataformas brasileiras. Se você está fazendo scraping com o cabeçalho "en-US", o site perceberá a discrepância (IP do Brasil, mas idioma em inglês).
  • Os cabeçalhos Sec-Fetch-* apareceram no Chrome 76+ e são obrigatórios para sites modernos. Sua ausência revela um scraper antigo.

Nível 2: Execução de JavaScript

Wildberries e Ozon carregam preços, características, estoques através de JavaScript após o carregamento da página. Se seu scraper em requests/curl simplesmente baixa o HTML, ele receberá uma página vazia ou um placeholder.

Solução: Use navegadores headless — Puppeteer (Node.js), Playwright (Python/Node.js), Selenium. Eles renderizam completamente a página, executam JS e obtêm o HTML final.

Problema dos navegadores headless: Os sites facilmente os identificam por parâmetros como navigator.webdriver === true, ausência de plugins, tamanhos específicos de Canvas. A taxa de detecção do Chrome headless é de cerca de 80-90%.

Solução para o problema: Use bibliotecas para modo stealth:

  • puppeteer-extra-plugin-stealth (Node.js) — disfarça o Puppeteer como um Chrome comum, corrigindo 30+ parâmetros de fingerprint.
  • undetected-chromedriver (Python) — versão patch do Selenium ChromeDriver, que não é detectada pela maioria dos sistemas anti-bot.
  • playwright-stealth (Python) — análogo para Playwright com suporte a Firefox e WebKit.

Nível 3: Contornando Cloudflare e DataDome

Wildberries utiliza Cloudflare Bot Management, Ozon — DataDome. Esses sistemas analisam não apenas IP e cabeçalhos, mas também comportamento: velocidade de rolagem, movimentos do mouse, tempo de carregamento da página.

Sinais do Cloudflare Challenge: Em vez de conteúdo, você vê a página "Checking your browser..." com um atraso de 5 segundos. No código, isso é um JavaScript-challenge que verifica o navegador.

Como contornar:

  • FlareSolverr — serviço de proxy que resolve automaticamente o Cloudflare Challenge. Você envia a URL, ele retorna cookies para contornar. Funciona em 70-80% dos casos.
  • Playwright com espera — carrega a página em um navegador headless, espera 10-15 segundos (até que o JS seja executado), extrai cookies e os utiliza em requisições HTTP normais. Economiza recursos: o navegador é necessário apenas para obter cookies, depois você faz scraping através de requests.
  • Proxies residenciais + navegador stealth — a combinação oferece 95%+ de sucesso nos contornos. O Cloudflare vê o IP real do usuário e o fingerprint correto do navegador.

Importante: O Cloudflare está constantemente atualizando sua proteção. O que funcionou em dezembro de 2024 pode não funcionar em março de 2025. Sempre tenha um plano de backup: solução manual de CAPTCHA através de serviços 2Captcha/AntiCaptcha ou mudança para a API do marketplace (se disponível).

Nível 4: Imitando o comportamento do usuário

Sistemas anti-bot avançados monitoram padrões de comportamento. Um usuário real rola a página, move o mouse, às vezes volta. Um bot abre páginas de produtos com um intervalo perfeito de 2.000 segundos.

Como imitar:

  • Randomização de atrasos — em vez de 3 segundos fixos, use random.uniform(2.5, 5.0). Adicione pausas longas raras (15-30 segundos), imitando a distração do usuário.
  • Rolagem da página — no Puppeteer/Playwright, adicione rolagem antes de extrair dados: await page.evaluate(() => window.scrollBy(0, 500)).
  • Movimentos do mouse — a biblioteca ghost-cursor para Puppeteer gera trajetórias realistas de movimento do cursor.
  • Navegação através da busca — não abra páginas de produtos diretamente pela URL. Primeiro, vá para a página inicial, faça uma busca, clique no produto nos resultados. Isso parece natural.

Ferramentas populares para scraping com suporte a proxies

Para o scraping de características de produtos, não é necessário escrever código do zero. Existem ferramentas prontas com interface visual, suporte a proxies e contorno automático de proteção.

Octoparse — scraper sem código

Descrição: Aplicativo desktop para Windows/Mac com um construtor visual de scrapers. Você clica nos elementos da página (nome do produto, preço, características), e o programa cria automaticamente as regras de extração.

Suporte a proxies: Integrado. Nas configurações, você indica a lista de proxies, e o programa os rotaciona automaticamente. Suporta HTTP, HTTPS, SOCKS5. Há integração com provedores Bright Data, Smartproxy.

Pontos positivos: Não é necessário código, funciona com sites JavaScript, planejador de tarefas integrado, exportação para Excel/CSV/JSON.
Pontos negativos: Assinatura paga a partir de 75$/mês, mais lento do que código em Python, limitações no número de páginas na versão gratuita.

Quando usar: Para projetos pequenos (até 50.000 produtos), se você não é programador ou precisa de um protótipo rápido.

ParseHub — scraper em nuvem

Descrição: Análogo ao Octoparse, mas funciona na nuvem. Você configura o scraper no aplicativo desktop, e ele é executado nos servidores do ParseHub. Conveniente para tarefas longas (scraping de 100.000+ produtos).

Suporte a proxies: Apenas em planos pagos (a partir de 149$/mês). Você pode carregar sua própria lista de proxies ou usar os IPs residenciais integrados do ParseHub.

Pontos positivos: Não sobrecarrega seu computador, processamento automático de paginação, API para integração.
Pontos negativos: Caro, suporte lento, dificuldades na configuração para sites complexos.

Scrapy (Python) — para programadores

Descrição: Framework para criar scrapers em Python. A opção mais flexível e rápida — pode fazer scraping de milhões de produtos por dia. Requer conhecimento de Python em nível intermediário.

Suporte a proxies: Através de middleware. Soluções populares: scrapy-rotating-proxies (rotação a partir de uma lista), scrapy-proxy-pool (integração com API de provedores). A configuração leva de 10 a 15 minutos.

Pontos positivos: Gratuito, muito rápido (requisições assíncronas), controle total sobre a lógica, enorme comunidade.
Pontos negativos: É necessário escrever código, dificuldades com sites JavaScript (requere integração com Splash ou Playwright).

Quando usar: Para projetos sérios com volume de 100.000+ produtos por dia, se você tem um programador na equipe.

Apify — marketplace de scrapers prontos

Descrição: Plataforma com milhares de scrapers prontos (chamados de "atores") para sites populares. Existem soluções prontas para Amazon, eBay, AliExpress. Para marketplaces russos, a escolha é menor, mas você pode solicitar o desenvolvimento.

Suporte a proxies: Integrado em todos os atores. Apify fornece seus próprios proxies residenciais (pagamento por tráfego) ou você pode conectar os seus.

Pontos positivos: Soluções prontas, execução em nuvem, API para automação, proxies integrados.
Pontos negativos: Caro (a partir de 49$/mês + pagamento de proxies), dependência da plataforma, limitações na personalização.

Comparação de ferramentas

Ferramenta Necessita de código? Preço Velocidade Para quem
Octoparse Não A partir de 75$/mês Média Profissionais de marketing, analistas sem programação
ParseHub Não A partir de 149$/mês Média Os mesmos que desejam execução em nuvem
Scrapy Sim (Python) Gratuito Muito alta Programadores, grandes volumes de dados
Apify Não (atores prontos) A partir de 49$/mês + tráfego Alta Negócios que precisam de soluções prontas
Puppeteer/Playwright Sim (JS/Python) Gratuito Média (navegadores pesados) Programadores, sites complexos em JS

Configuração passo a passo de proxies no scraper

Vamos considerar a configuração prática de proxies usando ferramentas populares. Essas instruções são adequadas para scraping de quaisquer marketplaces, não apenas russos.

Configuração no Octoparse

Passo 1: Abra o Octoparse e crie uma nova tarefa de scraping. Insira a URL da página inicial (por exemplo, a categoria de produtos no Wildberries).

Passo 2: Vá para o menu "Settings" → "Advanced Settings" → "Proxy". Selecione "Use custom proxy".

Passo 3: Adicione proxies no formato:

http://username:password@proxy-server.com:8080
socks5://username:password@proxy-server.com:1080

Passo 4: Ative a opção "Rotate proxy" e defina o intervalo de rotação. Para Wildberries, recomenda-se "Rotate on every 50 requests" ou "Rotate every 10 minutes".

Passo 5: Clique em "Test Proxy" — o Octoparse verificará a disponibilidade de cada proxy. Remova os que não funcionam da lista.

Passo 6: Na seção "Speed", defina o atraso entre requisições: 2-4 segundos para proxies residenciais, 3-5 segundos para data centers.

Configuração no Scrapy (Python)

Passo 1: Instale a biblioteca para rotação de proxies:

pip install scrapy-rotating-proxies

Passo 2: Crie um arquivo proxies.txt com a lista de proxies (um por linha):

http://user:pass@1.2.3.4:8080
http://user:pass@5.6.7.8:8080
socks5://user:pass@9.10.11.12:1080

Passo 3: No arquivo settings.py do seu projeto Scrapy, adicione:

ROTATING_PROXY_LIST_PATH = 'proxies.txt'

DOWNLOADER_MIDDLEWARES = {
    'rotating_proxies.middlewares.RotatingProxyMiddleware': 610,
    'rotating_proxies.middlewares.BanDetectionMiddleware': 620,
}

# Atraso entre requisições (em segundos)
DOWNLOAD_DELAY = 3

# Randomização do atraso (±50%)
RANDOMIZE_DOWNLOAD_DELAY = True

# Requisições paralelas (não mais que 16 para proxies residenciais)
CONCURRENT_REQUESTS = 8

Passo 4: O Scrapy rotacionará automaticamente os proxies a cada requisição. Se um proxy retornar um erro (HTTP 403, 429, timeout), ele será marcado como "ruim" e temporariamente excluído da rotação.

Configuração no Puppeteer (Node.js)

Passo 1: Instale o Puppeteer e o plugin para modo stealth:

npm install puppeteer puppeteer-extra puppeteer-extra-plugin-stealth

Passo 2: Crie um script com suporte a proxies:

const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());

const proxyList = [
  'http://user:pass@proxy1.com:8080',
  'http://user:pass@proxy2.com:8080'
];

let currentProxyIndex = 0;

async function scrapeWithProxy(url) {
  const proxy = proxyList[currentProxyIndex];
  currentProxyIndex = (currentProxyIndex + 1) % proxyList.length;

  const browser = await puppeteer.launch({
    headless: true,
    args: [`--proxy-server=${proxy}`]
  });

  const page = await browser.newPage();
  
  // Autenticação do proxy (se necessário)
  await page.authenticate({
    username: 'user',
    password: 'pass'
  });

  await page.goto(url, { waitUntil: 'networkidle2' });
  
  // Extração de dados
  const data = await page.evaluate(() => {
    return {
      title: document.querySelector('.product-title')?.innerText,
      price: document.querySelector('.product-price')?.innerText,
      // Adicione mais campos conforme necessário
    };
  });

  await browser.close();
  return data;
}

Passo 3: Chame a função scrapeWithProxy(url) passando a URL do produto que deseja coletar.

Passo 4: Execute o script e verifique os dados extraídos.

Conclusão e recomendações

O scraping de dados em marketplaces pode ser desafiador devido às proteções implementadas. No entanto, com a escolha correta de proxies e a configuração adequada, é possível coletar dados de forma eficaz e sem bloqueios. Lembre-se de sempre monitorar suas requisições e ajustar sua estratégia conforme necessário.

Se você está começando, considere usar ferramentas como Octoparse ou ParseHub para facilitar o processo. Para projetos mais avançados, Scrapy e Puppeteer oferecem flexibilidade e controle total.

Boa sorte em suas atividades de scraping!

```