Voltar ao blog

Robots.txt e proxies: como analisar concorrentes legalmente e evitar o banimento do site

Guia completo de scraping ético via proxy: como respeitar o robots.txt, evitar bloqueios e coletar dados de concorrentes sem riscos legais.

📅5 de março de 2026
```html

O scraping de dados de concorrentes é uma prática comum para marketers, vendedores de marketplaces e agências. Você monitora preços no Wildberries, coleta anúncios do Avito, analisa o sortimento dos concorrentes. Mas a maioria dos sites bloqueia solicitações em massa, e ignorar o arquivo robots.txt pode levar a problemas legais. Neste artigo, vamos discutir como usar proxies para fazer scraping de forma ética: respeitando as regras dos sites, evitando bloqueios e coletando dados sem riscos para o negócio.

O que é robots.txt e por que é importante para os sites

O arquivo robots.txt é um documento de texto na raiz do site que informa aos robôs de busca e scrapers quais seções podem ser indexadas e quais são proibidas. Por exemplo, uma loja online pode proibir a indexação do carrinho ou da área do cliente, para que essas páginas não apareçam no Google.

Um arquivo robots.txt típico se parece com isto:

User-agent: *
Disallow: /admin/
Disallow: /cart/
Disallow: /api/
Crawl-delay: 10

User-agent: Googlebot
Allow: /

Sitemap: https://example.com/sitemap.xml

Análise das diretrizes:

  • User-agent: * — regras para todos os bots (o asterisco significa "qualquer bot")
  • Disallow: /admin/ — proibido escanear a seção /admin/
  • Crawl-delay: 10 — delay de 10 segundos entre solicitações
  • User-agent: Googlebot — regras especiais para o Google (tudo permitido)

Por que os sites usam robots.txt:

  1. Proteção contra sobrecarga do servidor — scraping em massa cria carga no servidor, diminuindo a performance para usuários reais
  2. Ocultação de páginas técnicas — carrinhos, formulários de pagamento, endpoints de API não devem ser indexados
  3. Proteção de dados comerciais — marketplaces não querem que concorrentes baixem facilmente todo o catálogo de produtos
  4. Economia de tráfego — cada solicitação de bot custa dinheiro para o proprietário do site

Importante: robots.txt é uma recomendação, não uma barreira técnica. O arquivo não bloqueia o acesso fisicamente, mas ignorar as regras pode levar ao bloqueio do seu IP ou ações judiciais (especialmente nos EUA e na Europa).

O scraping de dados está em uma zona cinzenta da legislação. Em diferentes países, existem regras diferentes, mas há princípios gerais que é importante conhecer para não receber uma ação judicial.

Legislação da Rússia

Na Rússia, não há uma lei específica sobre scraping, mas aplicam-se normas gerais:

  • Direitos autorais (Código Civil da Federação Russa, artigo 1259) — não é permitido copiar textos únicos, fotografias, descrições de produtos sem a permissão do titular dos direitos. Scraping de preços e características geralmente é seguro, pois são dados factuais.
  • Dados pessoais (152-FZ) — é proibido coletar dados pessoais dos usuários (nome, telefone, e-mail) sem consentimento. Isso se aplica ao scraping de perfis de redes sociais ou bancos de contatos.
  • Concorrência desleal (artigo 14.33 do Código de Infrações Administrativas da Federação Russa) — se o scraping for usado para copiar um modelo de negócio ou enganar clientes, pode-se receber uma multa de até 500.000 rublos.

Legislação dos EUA e Europa

Nos EUA e na UE, as leis são mais rígidas:

  • CFAA (Computer Fraud and Abuse Act, EUA) — acesso não autorizado a sistemas computacionais é considerado crime. A violação do robots.txt pode ser interpretada como "acesso não autorizado". Um caso famoso: LinkedIn vs hiQ Labs (2022) — o tribunal decidiu que o scraping de dados públicos é legal, mas ignorar barreiras técnicas (como CAPTCHA) não é.
  • GDPR (Regulamento Geral sobre a Proteção de Dados, UE) — é proibida a coleta de dados pessoais de cidadãos da UE sem consentimento explícito. Multas de até 20 milhões de euros ou 4% do faturamento anual da empresa.
  • Termos de Serviço (Acordos de Usuário) — muitos sites proíbem explicitamente o scraping em suas regras. A violação pode levar a uma ação judicial por quebra de contrato.

Dica prática: Antes de fazer scraping, verifique três documentos: robots.txt, Termos de Serviço e Política de Privacidade do site-alvo. Se o scraping for explicitamente proibido — busque fontes alternativas de dados (APIs públicas, programas de parceria, conjuntos de dados prontos).

O que é seguro fazer scraping

Tipo de dados Risco Comentário
Preços de produtos Baixo Dados factuais, não protegidos por direitos autorais
Características de produtos Baixo Dados técnicos são seguros
Descrições únicas Alto Protegidas por direitos autorais
Fotografias de produtos Alto Necessita de permissão do titular dos direitos
Contatos de usuários Crítico Violação da 152-FZ e GDPR
Estatísticas públicas Baixo Dados abertos são seguros

Scraping ético: como coletar dados sem violações

O scraping ético é um equilíbrio entre as necessidades do negócio e o respeito pelos proprietários dos sites. Você pode coletar os dados necessários sem criar problemas para o recurso alvo e sem violar as leis.

Princípios básicos do scraping ético

  1. Respeite o robots.txt — se a seção for proibida para scraping, não tente contorná-la. Busque fontes alternativas de dados.
  2. Limite a velocidade das solicitações — não envie 1000 solicitações por segundo. Faça delays de 2-10 segundos entre as solicitações para não sobrecarregar o servidor.
  3. Use o User-Agent do seu scraper — não se disfarce como um usuário comum. Indique um User-Agent honesto, por exemplo: "MyCompanyParser/1.0 (contact@mycompany.com)". Isso permite que os administradores do site entrem em contato com você se houver problemas.
  4. Faça scraping apenas de dados públicos — não tente acessar seções restritas, APIs ou bancos de dados.
  5. Não revenda dados copiados — use as informações coletadas para necessidades internas (análise de concorrentes, monitoramento de preços), e não para criar um serviço concorrente.
  6. Cache os dados — não solicite a mesma página várias vezes. Salve os resultados localmente e atualize-os em um cronograma (uma vez por dia, uma vez por semana).

Quando NÃO fazer scraping

Existem situações em que o scraping cria mais problemas do que benefícios:

  • O site fornece API — muitos marketplaces (Wildberries, Ozon, Yandex.Market) têm APIs oficiais para parceiros. Use-as em vez de scraping — é mais rápido, legal e confiável.
  • Os dados estão protegidos por CAPTCHA ou autenticação — contornar a proteção pode ser considerado uma invasão de sistema.
  • O site proíbe explicitamente o scraping nos Termos de Serviço — o risco de uma ação judicial é muito alto.
  • Você está coletando dados pessoais — isso viola o GDPR e a 152-FZ, com multas enormes.

Como ler e respeitar robots.txt corretamente

O arquivo robots.txt está na raiz do domínio: https://example.com/robots.txt. Antes de começar o scraping, sempre verifique este arquivo.

Diretrizes principais do robots.txt

Diretiva Significado Exemplo
User-agent Para qual bot as regras se aplicam User-agent: * (todos os bots)
Disallow Seções proibidas para scraping Disallow: /admin/
Allow Seções permitidas (exceção de Disallow) Allow: /public/
Crawl-delay Delay mínimo entre solicitações (em segundos) Crawl-delay: 10
Sitemap Link para o mapa do site (lista de todas as páginas) Sitemap: /sitemap.xml

Exemplos de robots.txt e como interpretá-los

Exemplo 1: Proibição total de scraping

User-agent: *
Disallow: /

Isso significa: "Todos os bots estão proibidos de escanear todo o site". Fazer scraping de tal site é uma violação das regras do proprietário. Busque fontes alternativas de dados.

Exemplo 2: Restrições seletivas

User-agent: *
Disallow: /admin/
Disallow: /api/
Disallow: /cart/
Allow: /products/
Crawl-delay: 5

Isso significa: "É permitido fazer scraping da seção /products/ (produtos), mas /admin/, /api/ e /cart/ são proibidos. Faça uma pausa de 5 segundos entre as solicitações". Essas são condições normais — é possível fazer scraping de produtos, respeitando os limites.

Exemplo 3: Regras para bots específicos

User-agent: Googlebot
Allow: /

User-agent: *
Disallow: /
Crawl-delay: 10

Isso significa: "O Google pode escanear todo o site, mas todos os outros bots não podem". Se você não é o Google, o scraping é proibido.

Como verificar robots.txt antes do scraping

A maioria das linguagens de programação possui bibliotecas para verificar automaticamente o robots.txt. Exemplo em Python:

from urllib.robotparser import RobotFileParser

rp = RobotFileParser()
rp.set_url("https://example.com/robots.txt")
rp.read()

# Verificando se é permitido fazer scraping da página
url = "https://example.com/products/item123"
user_agent = "MyParser/1.0"

if rp.can_fetch(user_agent, url):
    print("Scraping permitido")
else:
    print("Scraping proibido pelo robots.txt")

Isso verificará automaticamente as regras e informará se é permitido fazer scraping de uma URL específica.

Rate Limiting e delays entre solicitações

Rate Limiting (limitação de taxa de solicitações) é uma proteção para sites contra sobrecarga. Se você enviar muitas solicitações em um curto período, o servidor pode bloquear seu IP ou mostrar um CAPTCHA.

Por que é importante respeitar delays

  • Evitar bloqueio de IP — os sites monitoram a frequência de solicitações de um único IP. Se você enviar 100 solicitações por minuto, será bloqueado como um bot.
  • Reduzir a carga no servidor — scraping em massa pode "derrubar" o site, especialmente se for um recurso pequeno em um hosting barato.
  • Respeitar o Crawl-delay do robots.txt — se o site indicou um delay de 10 segundos, ignorar essa regra é antiético.
  • Comportamento mais natural — usuários comuns não abrem 10 páginas por segundo. Delays fazem seu scraper parecer um ser humano real.

Delays recomendados para diferentes tarefas

Tipo de scraping Delay entre solicitações Comentário
Site pequeno (até 1000 páginas) 5-10 segundos Baixa capacidade do servidor
Site médio (loja online) 2-5 segundos Equilíbrio ideal
Grande marketplace (Wildberries, Ozon) 1-3 segundos Infraestrutura poderosa, mas forte proteção
Endpoints de API De acordo com os limites da API (geralmente 10-100 solicitações/min) Consulte a documentação da API
Redes sociais (Instagram, VK) 10-30 segundos Limites muito rigorosos, alto risco de banimento

Como implementar delays no código

Exemplo em Python usando a biblioteca time:

import time
import requests

urls = [
    "https://example.com/product1",
    "https://example.com/product2",
    "https://example.com/product3"
]

for url in urls:
    response = requests.get(url)
    print(f"Scrapado: {url}")
    
    # Delay de 3 segundos antes da próxima solicitação
    time.sleep(3)

Para cenários mais complexos, use delays aleatórios (random delay) para que o comportamento seja ainda mais natural:

import time
import random

for url in urls:
    response = requests.get(url)
    
    # Delay aleatório de 2 a 5 segundos
    delay = random.uniform(2, 5)
    time.sleep(delay)

Rotação de proxies para scraping ético

Mesmo que você respeite o robots.txt e faça delays, o scraping de grandes volumes de dados de um único IP pode levantar suspeitas. A rotação de proxies ajuda a distribuir as solicitações entre diferentes endereços IP, simulando o comportamento de muitos usuários reais.

Por que a rotação de proxies é necessária

  • Contornar Rate Limiting — se o limite é de 100 solicitações/hora de um único IP, então 10 proxies lhe darão 1000 solicitações/hora.
  • Distribuição geográfica — para scraping de dados regionais (preços no Wildberries em Moscovo e Vladivostok) são necessários proxies de diferentes cidades.
  • Reduzir suspeitas — solicitações de diferentes IPs parecem tráfego de usuários reais.
  • Reserva — se um proxy for bloqueado, o scraper muda automaticamente para outro.

Quais proxies usar para scraping ético

Tipo de proxy Vantagens Desvantagens Quando usar
Residenciais IPs reais de usuários domésticos, baixo risco de banimento Mais caros que outros tipos Scraping de redes sociais, marketplaces com forte proteção
Móveis IPs de operadoras móveis, máxima confiança Os mais caros, menos IPs disponíveis Scraping de Instagram, TikTok, aplicativos móveis
Data centers Baratos, alta velocidade Fácil de detectar, frequentemente em listas negras Scraping de sites simples, testes

Recomendação para scraping ético: Use proxies residenciais com rotação automática. Eles oferecem um equilíbrio entre custo e confiabilidade, e seus IPs parecem de usuários comuns.

Estratégias de rotação de proxies

  1. Rotação a cada solicitação — cada solicitação é feita com um novo IP. Adequado para scraping de sites com limites rígidos (redes sociais, marketplaces).
  2. Rotação por tempo (a cada 5-10 minutos) — um IP é usado para várias solicitações, depois muda. Comportamento mais natural.
  3. Sticky sessions (sessões fixas) — um IP é usado para toda a sessão do usuário (por exemplo, autenticação + scraping da área do cliente). Essencial para sites com autenticação.
  4. Rotação geográfica — para cada região, usa-se um proxy dessa região. Exemplo: scraping de preços no Wildberries em Moscovo — proxy de Moscovo.

Exemplo de rotação de proxies em Python

import requests
import random
import time

# Lista de proxies (substitua por reais)
proxies_list = [
    {"http": "http://user:pass@proxy1.example.com:8080"},
    {"http": "http://user:pass@proxy2.example.com:8080"},
    {"http": "http://user:pass@proxy3.example.com:8080"}
]

urls = [
    "https://example.com/product1",
    "https://example.com/product2",
    "https://example.com/product3"
]

for url in urls:
    # Escolha um proxy aleatório
    proxy = random.choice(proxies_list)
    
    try:
        response = requests.get(url, proxies=proxy, timeout=10)
        print(f"Scrapado {url} através de {proxy}")
    except Exception as e:
        print(f"Erro com o proxy {proxy}: {e}")
    
    # Delay de 3 segundos
    time.sleep(3)

Casos práticos: scraping de marketplaces e concorrentes

Vamos considerar cenários reais de scraping ético para negócios.

Caso 1: Monitoramento de preços no Wildberries

Tarefa: Você vende produtos no Wildberries e quer monitorar os preços dos concorrentes para ajustar os seus.

Problemas:

  • Wildberries bloqueia IPs em solicitações frequentes
  • Os preços dependem da região de entrega
  • É necessário fazer scraping de 100-500 produtos diariamente

Solução ética:

  1. Verifique o robots.txt — Wildberries permite scraping das páginas de produtos, mas proíbe endpoints de API.
  2. Use proxies residenciais — para cada região (Moscovo, SPb, Novosibirsk) pegue proxies dessa região.
  3. Rotação a cada solicitação — faça scraping de cada produto com um novo IP.
  4. Delay de 2-3 segundos — faça uma pausa entre as solicitações.
  5. Faça scraping uma vez por dia — não atualize os preços a cada hora, um monitoramento diário é suficiente.

Resultado: Você obtém preços atualizados dos concorrentes sem bloqueios. Wildberries não percebe carga anômala, pois as solicitações estão distribuídas ao longo do tempo e IPs.

Caso 2: Scraping de anúncios no Avito

Tarefa: Você é um corretor e quer coletar todos os anúncios de venda de apartamentos na sua cidade para análise de mercado.

Problemas:

  • Avito mostra CAPTCHA em atividades suspeitas
  • É necessário fazer scraping de 5000+ anúncios
  • Os dados são atualizados diariamente

Solução ética:

  1. Verifique o robots.txt — Avito permite scraping das páginas de anúncios, mas com um limite de Crawl-delay: 5 segundos.
  2. Use proxies residenciais — rotação a cada 10 solicitações (não a cada solicitação, para não parecer suspeito).
  3. Delay de 5-7 segundos — respeite o Crawl-delay do robots.txt.
  4. Faça scraping durante a noite — quando a carga no site é mínima (2-6 da manhã).
  5. Cache os dados — não faça scraping do mesmo anúncio duas vezes, salve os resultados em um banco de dados.

Resultado: Durante a noite, você coleta todos os novos anúncios sem CAPTCHA e bloqueios. Avito não experimenta sobrecarga, e você obtém os dados necessários.

Caso 3: Análise do sortimento do concorrente

Tarefa: Você é o proprietário de uma loja online de eletrônicos e quer saber quais novos produtos apareceram no concorrente.

Problemas:

  • O site do concorrente está em um hosting protegido com sistema anti-bot
  • É necessário fazer scraping de um catálogo de 10.000 produtos
  • Você quer fazer isso semanalmente

Solução ética:

  1. Verifique o robots.txt — scraping de /catalog/ é permitido, mas /admin/ e /api/ são proibidos.
  2. Use o Sitemap — em vez de percorrer todas as páginas manualmente, pegue a lista de URLs do sitemap.xml (é mais rápido e não cria carga desnecessária).
  3. Proxies residenciais com rotação a cada 5 minutos — um IP faz 20-30 solicitações, depois muda.
  4. Delay de 3-5 segundos — imite o comportamento de um usuário comum.
  5. Faça scraping apenas de novos produtos — compare o catálogo atual com o anterior e faça scraping apenas das mudanças.

Resultado: Você recebe semanalmente uma lista de novidades do concorrente sem bloqueios. O site do concorrente não enfrenta problemas, e você obtém uma vantagem competitiva.

Ferramentas para automação respeitando as regras

Existem ferramentas prontas que simplificam o scraping ético e respeitam automaticamente o robots.txt.

Scrapy (Python)

Scrapy é um framework popular para scraping em Python. Ele verifica automaticamente o robots.txt e respeita as regras.

Configuração para respeitar o robots.txt no Scrapy:

# settings.py

# Ativar respeito ao robots.txt
ROBOTSTXT_OBEY = True

# Delay entre solicitações (em segundos)
DOWNLOAD_DELAY = 3

# Delay aleatório (de 0.5 a 1.5 * DOWNLOAD_DELAY)
RANDOMIZE_DOWNLOAD_DELAY = True

# Limitação de solicitações simultâneas a um único domínio
CONCURRENT_REQUESTS_PER_DOMAIN = 1

# User-Agent do seu scraper
USER_AGENT = 'MyCompanyParser/1.0 (+http://mycompany.com/bot)'

Com essas configurações, o Scrapy verificará automaticamente o robots.txt antes do scraping e respeitará todas as regras.

Apify (plataforma em nuvem)

Apify é uma plataforma em nuvem para web scraping sem código. Você cria um scraper através de uma interface visual, e o Apify gerencia automaticamente proxies e limites.

Vantagens para scraping ético:

  • Rotação de proxies embutida (residenciais e data centers)
  • Respeito automático ao robots.txt
  • Configuração de delays através da interface
  • Agendamento de execução (scraping uma vez por dia/semana)

Octoparse (scraper sem código)

Octoparse é um aplicativo desktop para scraping sem programação. É adequado para marketers e vendedores que não sabem programar.

Como configurar scraping ético no Octoparse:

  1. Abra as configurações da tarefa (Task Settings)
  2. Ative "Respeitar robots.txt"
  3. Defina um delay (Delay) de 3-5 segundos
  4. Conecte proxies na seção "Proxy Settings"
  5. Configure o agendamento de execução (Schedule)

Puppeteer/Playwright (JavaScript)

Puppeteer e Playwright são bibliotecas para automação de navegador. Elas são adequadas para scraping de sites com renderização em JavaScript.

Exemplo de scraping ético com Puppeteer:

const puppeteer = require('puppeteer');
const robotsParser = require('robots-parser');

async function ethicalScrape(url) {
  // Verificando robots.txt
  const robots = robotsParser('https://example.com/robots.txt', 
    'MyParser/1.0');
  
  if (!robots.isAllowed(url)) {
    console.log('Scraping proibido pelo robots.txt');
    return;
  }
  
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  
  // Delay antes de carregar a página
  await new Promise(resolve => setTimeout(resolve, 3000));
  
  await page.goto(url);
  const data = await page.evaluate(() => {
    return document.querySelector('h1').innerText;
  });
  
  console.log(data);
  await browser.close();
}

ethicalScrape('https://example.com/product1');

Conclusão

O scraping ético através de proxies é um equilíbrio entre as necessidades do negócio e o respeito pelos proprietários dos sites. Respeitando o robots.txt, fazendo delays entre as solicitações e usando rotação de proxies, você pode coletar os dados necessários sem riscos legais e bloqueios. Os principais princípios são: verifique o robots.txt antes do scraping, limite a velocidade das solicitações, use um User-Agent honesto e faça scraping apenas de dados públicos. Isso protegerá seu negócio de ações judiciais e garantirá a operação estável dos scrapers.

Se você planeja fazer scraping de marketplaces, sites concorrentes ou coletar dados para análise de mercado, recomendamos o uso de proxies residenciais com rotação automática. Eles garantem...

```