Guia de Scraping · 2 min de leitura

Como evitar bans de IP ao fazer scraping

Banimentos de IP geralmente vêm do comportamento, não de má sorte — muitas solicitações, cabeçalhos desleixados e uma impressão digital que grita "bot". Aqui está como raspar dentro das regras e manter suas solicitações fluindo.

Por que os sites banem IPs (e o que corrigir primeiro)

A maioria dos bloqueios é acionada pela forma como você solicita, não por quem você é.

Três sinais fazem o trabalho pesado por trás da maioria das proibições:

  • Taxa & de volume — muitas solicitações por segundo de um IP, ou uma cadência perfeitamente uniforme que nenhum humano produziria.
  • Impressão digital — ordem de quadro TLS/JA3, HTTP/2 e ordenação de cabeçalhos que não correspondem ao navegador que você afirma ser.
  • Cabeçalhos — um User-Agent ausente ou padrão, sem Accept-Language, um Referer obsoleto ou ausente.

Antes de otimizar qualquer uma dessas coisas, leia o robots.txt e os Termos de Serviço do alvo. Coletar dados públicos geralmente é aceitável; bombardear um endpoint, ignorar limites de taxa publicados ou coletar dados pessoais pode violar os ToS e, em algumas jurisdições, a lei. Respeite o crawl-delay, armazene em cache o que você busca e não tente acessar um site repetidamente até que ele caia.

Uma vez que você esteja coletando dados de forma responsável, sua principal alavanca é como os IPs são atribuídos:

AbordagemMelhor paraCompensação
Rotacionando (novo IP por solicitação/lote)Páginas públicas de alto volume, rastreamentos estilo buscaDistribui a carga, mas quebra sessões, carrinhos e logins
Fixo / sessão (mesmo IP por um tempo)Fluxos logados, navegação em múltiplas etapas, paginaçãoParece humano, mas concentra a carga em uma saída

s4m executa proxies de datacenter — SOCKS5 + HTTP autenticados, não residenciais. Eles são rápidos e baratos por GB, mas alguns sites de consumo sinalizam intervalos de datacenter mais prontamente, então combine-os com cabeçalhos limpos e limites de taxa honestos. Precisa de uma saída estável para logins? Adicione um IP dedicado. Prefere um túnel completo? Veja /vpn/, pese as opções em /compare/, ou leia mais guias.

As alavancas que mantêm você não banido

Combine esses — nenhum truque único supera um bom sistema anti-bot.

Limite de taxa e jitter

Limite a concorrência, adicione atrasos aleatórios entre solicitações e respeite o crawl-delay além de qualquer 429 / Retry-After que o servidor enviar.

Rotacionar ou permanecer fixo

Rotacione IPs para rastreamentos sem estado e de alto volume; mantenha uma saída fixa para fluxos de múltiplas etapas com login. Muitos trabalhos misturam ambos.

Impressão digital limpa

Envie cabeçalhos de navegador realistas com um Accept-Language e Referer consistentes em vez de padrões de biblioteca que o marcam como um bot.

Desista em caso de falha

Use retrocesso exponencial com jitter em respostas 429 e 5xx, e pare completamente quando um site sinaliza claramente para parar.

Controle de uso por IP

Os limites s4m são ajustáveis por administrador por IP, conta e tipo de conta, então um trabalho descontrolado não pode queimar uma saída compartilhada ou seu orçamento.

Sem registros, primeiro em RAM

Proxies autenticados sobre TLS, sem registros por design. Sua lista de alvos e tráfego permanecem seus, em cartão ou cripto.

Uma configuração de scraping resistente a banimentos

Seis etapas desde a primeira requisição até um crawler durável.

Verifique robots.txt e ToS

Confirme se o endpoint permite acesso automatizado, anote qualquer crawl-delay e evite dados pessoais ou claramente restritos.

Defina um orçamento de solicitação

Pick a concurrency cap and a target requests-per-second well below what would look abusive, then add random delay.

Envie cabeçalhos realistas

Defina um User-Agent, Accept e Accept-Language reais, e mantenha-os consistentes durante toda a sessão.

Escolha rotativo vs fixo

Rotacione saídas para páginas sem estado; reutilize uma saída fixa por sessão logada para que o estado não quebre no meio do fluxo.

Adicione retrocesso exponencial

Em 429 / 503, aguarde Retry-After (ou 2^n) mais jitter e tente novamente algumas vezes, depois desista graciosamente.

Limite de uso por IP

Use limites por IP do s4m para que um único scraping não possa esgotar uma saída, e monitore o uso medido à medida que você escala.

Python: crawler educado sobre proxies s4m

Sessão persistente, cabeçalhos realistas, recuo com jitter. Troque USER:PASS por suas credenciais — nunca codifique um IP real.

python
import random
import time
import requests

# s4m datacenter proxies (authenticated). Placeholder host only.
USER, PASS = "USER", "PASS"
HTTP  = f"http://{USER}:{PASS}@proxy.s4m.online:3128"
SOCKS = f"socks5://{USER}:{PASS}@proxy.s4m.online:1080"  # pip install requests[socks]

PROXIES = {"http": HTTP, "https": HTTP}

HEADERS = {
    "User-Agent": (
        "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 "
        "(KHTML, like Gecko) Chrome/125.0 Safari/537.36"
    ),
    "Accept": "text/html,application/xhtml+xml;q=0.9,*/*;q=0.8",
    "Accept-Language": "en-US,en;q=0.9",
}


def polite_get(url, session, max_retries=5):
    for attempt in range(max_retries):
        r = session.get(url, headers=HEADERS, proxies=PROXIES, timeout=20)
        if r.status_code == 429 or r.status_code >= 500:
            wait = float(r.headers.get("Retry-After", 2 ** attempt))
            time.sleep(wait + random.uniform(0, 1))  # backoff + jitter
            continue
        r.raise_for_status()
        return r
    raise RuntimeError(f"gave up after {max_retries} tries: {url}")


def crawl(urls):
    # One Session = one sticky exit for this run; open a new one to rotate.
    with requests.Session() as s:
        for url in urls:
            resp = polite_get(url, s)
            yield url, resp.text
            time.sleep(random.uniform(1.5, 4.0))  # rate-limit + jitter


if __name__ == "__main__":
    for url, html in crawl(["https://example.com/page/1"]):
        print(url, len(html))
FAQ

Perguntas, respondidas

Os proxies de datacenter são suficientes para evitar banimentos?

Eles ocultam seu IP de origem e distribuem a carga, o que previne muitos bloqueios baseados em taxa. Mas os proxies s4m são de datacenter, não residenciais, e alguns sites de consumo sinalizam intervalos de datacenter mais prontamente — então combine-os com cabeçalhos limpos, limites de taxa razoáveis e sessões persistentes onde o estado importa.

Devo usar proxies rotativos ou fixos?

Rotacione saídas para páginas públicas sem estado e de alto volume, para que nenhum IP único chame atenção. Mantenha uma sessão fixa quando estiver logado ou navegando em um fluxo de múltiplas etapas, já que um IP que muda no meio da sessão parece suspeito e pode quebrar carrinhos ou autenticações. Muitos trabalhos misturam ambos.

O scraping da web é legal?

Depende da sua jurisdição, dos dados e dos termos do site. Dados públicos e não pessoais geralmente são aceitáveis, mas os ToS de uma plataforma podem proibir o acesso automatizado, mesmo quando é tecnicamente possível, e dados pessoais têm regras adicionais. Sempre verifique o robots.txt e os ToS, e faça scraping de forma conservadora.

Como faço para impedir que um trabalho consuma toda a minha cota?

Os proxies s4m são medidos e pagos conforme o uso, com limites ajustáveis pelo administrador por IP, por conta e por tipo de conta. Controle a concorrência em seu crawler e defina um limite de uso por IP para que um loop descontrolado não esgote seu orçamento ou uma saída compartilhada.

Posso obter um IP estável para scraping com login?

Sim. O complemento de IP pessoal dedicado é uma saída estática que você pode opcionalmente desvincular de sua identidade e vincular a um proxy ou à VPN — útil quando um alvo vincula uma sessão a um endereço consistente.

Raspe de forma mais inteligente, não mais difícil

Proxies de datacenter SOCKS5 + HTTP autenticados, pagos conforme o uso, com limites de uso por IP e um IP dedicado opcional. Sem registros por design — e honesto que estes são saídas de datacenter, não residenciais.

As pessoas encontraram esta página pesquisando por

Frases de busca reais que esta página responde — os links abrem a página que as cobre em profundidade.