GBProxies

Como Configurar Proxies Rotativos no Scrapy

O HttpProxyMiddleware embutido do Scrapy lê o proxy de request.meta. Com um gateway rotativo, você define uma URL e cada solicitação ainda recebe um novo IP.

Passos

  1. Mantenha o HttpProxyMiddleware habilitado (ele está ativo por padrão)
  2. Defina meta={"proxy": url} em cada solicitação ou em start_requests
  3. Coloque o nome de usuário e senha na URL do proxy
  4. Reduza CONCURRENT_REQUESTS_PER_DOMAIN se um site ainda limitar a taxa

Exemplo de código

import scrapy

PROXY = "http://USERNAME-cc-gb:PASSWORD@gw.gbproxies.cc:10000"

class PricesSpider(scrapy.Spider):
    name = "prices"
    start_urls = ["https://example.com/catalog"]

    def start_requests(self):
        for url in self.start_urls:
            yield scrapy.Request(url, meta={"proxy": PROXY})

    def parse(self, response):
        for href in response.css("a.product::attr(href)").getall():
            yield response.follow(href, self.parse_item, meta={"proxy": PROXY})

    def parse_item(self, response):
        yield {"title": response.css("h1::text").get(), "url": response.url}

Substitua USERNAME e PASSWORD pelo login do proxy da página Proxies do console. A porta 10000 é HTTP residencial; veja as portas de cada produto abaixo.

Dicas

  • Desative IMAGES_ENABLED e evite downloads de mídia para economizar GB
  • Use DOWNLOAD_TIMEOUT 30 e RETRY_TIMES 3 para execuções estáveis

Perguntas comuns

Preciso de um middleware de rotação?

Não. O gateway faz a rotação para você; uma URL de proxy é suficiente.

Como Configurar Proxies Rotativos no Scrapy