In this Article
O Scrapy é o framework Python de produção para scraping web sério — rápido, assíncrono e construído para crawling em escala. Mas faça crawl de um alvo real a partir de um único IP de datacenter e você será limitado por taxa ou bloqueado em minutos. A correção é rotear o Scrapy por proxies — idealmente residenciais — para que as requisições pareçam usuários reais. A boa notícia: o suporte a proxy do Scrapy é embutido via request.meta['proxy'], e com um gateway rotativo você nem gerencia uma lista de IPs. Este guia mostra exatamente como usar um proxy com o Scrapy (por requisição, um middleware para todas as requisições e rotação), e então classifica os 8 melhores proxies para o Scrapy em 2026. A DataImpulse a $1/GB é a linha de base de valor.
Sou Andrii Byzov, um CMO Fracionário AI-Native que roda crawlers Scrapy diariamente. Abaixo: a configuração para copiar e colar, a pegadinha da ordem de middleware, e os provedores que valem seu orçamento.
Fatos Principais
- Defina o proxy com
request.meta['proxy']— oHttpProxyMiddlewareembutido do Scrapy o lê e cuida da autenticação a partir da URL do proxy (http://user:pass@host:port). - Aplique-o a cada requisição com um pequeno DownloaderMiddleware, ou defina-o por requisição em
start_requests. - Um gateway rotativo significa nenhuma lista de IPs. Aponte
meta['proxy']para um endpoint residencial rotativo (como a DataImpulse) e cada requisição sai de um IP novo automaticamente. - Para uma lista estática de IPs, use o
scrapy-rotating-proxies(ROTATING_PROXY_LIST) — ele rotaciona, detecta bans e fica antes doHttpProxyMiddlewarena ordem (suas prioridades padrão já fazem isso). - O Scrapy suporta proxies HTTP/HTTPS nativamente (não SOCKS5) — use o endpoint HTTP (porta 823 da DataImpulse). Combine com residencial a $1/GB, datacenter $0,50/GB, mobile $2/GB em um pool de 90M+, 195 países.
Como Usar um Proxy com o Scrapy
1. Por requisição via meta['proxy']
import scrapy
class IpSpider(scrapy.Spider):
name = "ip"
def start_requests(self):
proxy = "http://YOUR_LOGIN__cr.us:[email protected]:823" # __cr.us = US
yield scrapy.Request("https://httpbin.org/ip", meta={"proxy": proxy})
def parse(self, response):
self.log(response.text) # confirm the egress IP
O HttpProxyMiddleware do Scrapy (habilitado por padrão) pega o meta['proxy'] e define o header Proxy-Authorization a partir das credenciais na URL — nenhum código extra necessário.
2. Um middleware para fazer proxy de cada requisição
Mais limpo para um projeto inteiro — defina o proxy uma vez e ele se aplica a todas as requisições:
# middlewares.py
class DataImpulseProxyMiddleware:
PROXY = "http://YOUR_LOGIN__cr.us:[email protected]:823"
def process_request(self, request, spider):
request.meta["proxy"] = self.PROXY
# settings.py — run BEFORE the built-in HttpProxyMiddleware (750)
DOWNLOADER_MIDDLEWARES = {
"myproject.middlewares.DataImpulseProxyMiddleware": 350,
}
3. Rotacionando uma lista estática de IPs com scrapy-rotating-proxies
Se você tem uma lista de proxies (em vez de um gateway rotativo), o scrapy-rotating-proxies os rotaciona e detecta bans:
# pip install scrapy-rotating-proxies
# settings.py
ROTATING_PROXY_LIST = [
"http://YOUR_LOGIN__cr.us:[email protected]:823",
# ...more endpoints/sessions...
]
DOWNLOADER_MIDDLEWARES = {
"rotating_proxies.middlewares.RotatingProxyMiddleware": 610,
"rotating_proxies.middlewares.BanDetectionMiddleware": 620,
}
Com o gateway residencial rotativo da DataImpulse você geralmente não precisa disso — um endpoint já retorna um IP novo por requisição. Recorra ao scrapy-rotating-proxies quando você gerencia muitas sessões discretas ou quer detecção de ban embutida. Nota: o suporte a proxy do Scrapy é apenas HTTP/HTTPS, então use o endpoint HTTP (porta 823), não SOCKS5; veja os tutoriais da DataImpulse para parâmetros de sessão.
Melhores Proxies para o Scrapy num Relance
| Provedor | Melhor para Scrapy | Preço residencial | Protocolos | Destaque |
|---|---|---|---|---|
| DataImpulse | Melhor valor, crawlers internos | $1/GB PAYG | HTTP/HTTPS | Pool de 90M+, gateway rotativo, nunca expira |
| Bright Data | Corporativo + gerenciado | ~$4/GB promo; $8 normal | HTTP/HTTPS/SOCKS5 | Web Unlocker, SERP API, datasets |
| Oxylabs | SLA corporativo | a partir de $6/GB | HTTP/HTTPS/SOCKS5 | Pool de 175M+, scraper APIs |
| Decodo | Médio mercado, grade geo completa | $3,75/GB (~$2 a 1TB+) | HTTP/HTTPS | Pool de 115M+, sticky até 24h |
| IPRoyal | Sessões sticky longas | a partir de $7,35/GB | HTTP/HTTPS/SOCKS5 | Sticky até 7 dias; PAYG barato |
| SOAX | Mix residencial + mobile | $3,60/GB Starter | HTTP/HTTPS | 155M+ res, 33M+ mobile |
| Webshare | Econômico / self-serve | a partir de $3,50/mês res; $2,99/mês DC | HTTP/SOCKS5 | Tier grátis, datacenter mais barato |
| NetNut | Estabilidade ISP-residencial | a partir de $3,53/GB | HTTP/HTTPS | IPs estáticos de ISP de consumidor |

As escolhas, em resumo
A DataImpulse é a linha de base de valor para crawlers Scrapy — residencial a $1/GB pay-as-you-go (datacenter $0,50/GB, mobile $2/GB), 90M+ IPs em 195 países, um gateway HTTP/HTTPS rotativo que entrega um IP novo por requisição, e segmentação por país/cidade/ASN no nome de usuário. O tráfego nunca expira, então execuções de dev não queimam uma assinatura. Taxa de sucesso publicada 99,51%; G2 4,8/5; suporte humano 24/7. Para crawling interno de alto volume, é o menor custo por requisição bem-sucedida.
A Bright Data é a escolha corporativa (residencial ~$8/GB normal, ~$4 promo) com Web Unlocker, SERP API e datasets. A Oxylabs (a partir de $6/GB, pool de 175M+) é a opção de nível SLA com scraper APIs. A Decodo (a partir de $3,75/GB, sticky até 24h) é a escolha equilibrada de médio mercado. A IPRoyal (a partir de $7,35/GB, sticky até 7 dias) serve para crawls longos e estáveis em sessão. A SOAX ($3,60/GB, 155M+ residencial + 33M+ mobile) adiciona um forte pool mobile. A Webshare (tier grátis, datacenter a partir de $2,99/mês) é a entrada econômica self-serve, e a NetNut (a partir de $3,53/GB) é a escolha de estabilidade ISP-residencial.
Proxies Rotativos vs Sticky com o Scrapy
Para crawling amplo, um gateway residencial rotativo é ideal — cada requisição do Scrapy recebe um IP novo, o que espalha a carga e desvia de limites de taxa sem gerenciamento de IP. Para fluxos com estado (login e depois requisições de acompanhamento), use uma sessão sticky para que o mesmo IP persista ao longo da sequência, e mantenha os cookies ligados (o middleware de cookies do Scrapy está ligado por padrão). A maioria dos crawls do Scrapy é ampla e sem estado, então o rotativo é o padrão comum; reserve o sticky para alvos autenticados ou multi-etapa.
Erros Comuns de Proxy no Scrapy
- Ordem de middleware. Um middleware de proxy customizado ou o
scrapy-rotating-proxiesprecisa rodar antes doHttpProxyMiddlewareembutido (número de prioridade menor) ou seu proxy não será aplicado. - Esperar que o SOCKS5 funcione. O suporte a proxy do Scrapy é apenas HTTP/HTTPS — use o endpoint HTTP, não uma URL SOCKS.
- Fazer crawl agressivo demais. Habilite
AUTOTHROTTLE_ENABLEDe umCONCURRENT_REQUESTS/DOWNLOAD_DELAYsensato para que mesmo IPs rotativos não sejam martelados. - IPs de datacenter em alvos defendidos — eles são bloqueados rápido; use residencial para sites pesados em anti-bot.
- Sem tratamento de ban. Adicione retry/detecção de ban (o BanDetectionMiddleware do
scrapy-rotating-proxiesouRETRY_HTTP_CODEScustomizado) para que respostas bloqueadas sejam retentadas em um novo IP, não parseadas como dados.
Qual Tipo de Proxy para o Scrapy — Residencial, Datacenter ou Mobile?
- Residencial ($1/GB) — o padrão para alvos defendidos (e-commerce, SERPs, social). Se você escolher um, escolha este.
- Mobile ($2/GB) — IPs reais de operadora para os alvos mais duros e superfícies de web mobile.
- Datacenter ($0,50/GB) — o mais barato e rápido para crawling desprotegido, APIs e sua própria infraestrutura; não o aponte para sites pesados em anti-bot.
A DataImpulse oferece os três numa única conta pay-as-you-go, então um único projeto Scrapy pode rotear cada requisição para o tier certo via o nome de usuário e o endpoint.
Como Começar com a DataImpulse + Scrapy
Passo 1. Crie uma conta DataImpulse e pegue as credenciais residenciais. O intro de $5 / 5GB nunca expira — um orçamento de teste de verdade.
Passo 2. Defina request.meta["proxy"] = "http://YOUR_LOGIN__cr.us:[email protected]:823" por requisição, ou adicione o middleware de proxy de uma linha para aplicá-lo em todo lugar. Adicione um código de país ao nome de usuário para segmentação geo.
Passo 3. Habilite o AUTOTHROTTLE, adicione tratamento de retry/ban e deixe o gateway rotativo dar um IP novo por requisição. Veja os tutoriais da DataImpulse e a página de proxies residenciais.
FAQ
Como uso um proxy no Scrapy?
Defina request.meta['proxy'] = 'http://user:pass@host:port' nas suas requisições — o HttpProxyMiddleware embutido do Scrapy o lê e cuida da autenticação a partir da URL. Para um projeto inteiro, adicione um pequeno DownloaderMiddleware que define request.meta['proxy'] em cada requisição. Para a DataImpulse: http://YOUR_LOGIN__cr.us:[email protected]:823.
Qual é o melhor proxy para o Scrapy?
Proxies residenciais para alvos defendidos — a DataImpulse a $1/GB é a escolha de valor (90M+ IPs, gateway HTTP/HTTPS rotativo, tráfego que nunca expira). Bright Data e Oxylabs são as opções corporativas; a Webshare é a mais barata para começar. Todas funcionam com o meta['proxy'] do Scrapy; a escolha se resume a preço, qualidade do pool e se você precisa de APIs gerenciadas.
Como rotaciono proxies no Scrapy?
Mais fácil: aponte o meta['proxy'] para um gateway residencial rotativo (DataImpulse) — cada requisição recebe um IP novo automaticamente, nenhuma lista para gerenciar. Para uma lista estática de proxies, instale o scrapy-rotating-proxies, defina ROTATING_PROXY_LIST e coloque seu middleware antes do HttpProxyMiddleware embutido. Ele também detecta bans e retenta em um novo IP.
O Scrapy suporta proxies SOCKS5?
Não nativamente — o HttpProxyMiddleware do Scrapy suporta apenas proxies HTTP e HTTPS. Use o endpoint HTTP (porta 823 da DataImpulse) para proxies residenciais. O SOCKS5 exigiria um download handler customizado, que raramente é necessário já que o gateway HTTP cobre o crawling do Scrapy.
Por que meu proxy do Scrapy não está funcionando?
Na maioria das vezes é a ordem de middleware — um middleware de proxy customizado ou o scrapy-rotating-proxies precisa rodar antes do HttpProxyMiddleware embutido (um número de prioridade menor). Outras causas: usar uma URL SOCKS (use HTTP), credenciais faltando na URL do proxy, ou um IP de datacenter bloqueado em um site defendido (mude para residencial). Cheque o IP de saída contra https://httpbin.org/ip.
Quanto custam os proxies para o Scrapy?
O residencial bruto é precificado por GB — DataImpulse $1/GB (piso de valor), NetNut a partir de $3,53, SOAX $3,60, Decodo $3,75, Oxylabs a partir de $6, IPRoyal $7,35; a Webshare oferece assinaturas econômicas a partir de $3,50/mês. Uma página crawleada é uma pequena fração de um GB, então o residencial por GB é bem mais barato que APIs gerenciadas por registro para crawling de alto volume com Scrapy; as opções gerenciadas servem para os alvos mais duros.
