GBProxies

Cara Mengatur Proxy Berotasi di Scrapy

HttpProxyMiddleware bawaan Scrapy membaca proxy dari request.meta. Dengan gateway berotasi, Anda mengatur satu URL dan setiap permintaan tetap mendapatkan IP baru.

Langkah-langkah

  1. Pastikan HttpProxyMiddleware aktif (secara default aktif)
  2. Atur meta={"proxy": url} pada setiap permintaan, atau di start_requests
  3. Masukkan username dan password dalam URL proxy
  4. Turunkan CONCURRENT_REQUESTS_PER_DOMAIN jika situs masih membatasi akses

Contoh kode

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}

Ganti USERNAME dan PASSWORD dengan login proxy dari halaman Proxies di konsol. Port 10000 adalah HTTP residential; lihat port setiap produk di bawah.

Tips

  • Matikan IMAGES_ENABLED dan hindari unduhan media untuk menghemat GB
  • Gunakan DOWNLOAD_TIMEOUT 30 dan RETRY_TIMES 3 untuk proses yang stabil

Pertanyaan umum

Apakah saya perlu middleware rotasi?

Tidak. Gateway melakukan rotasi untuk Anda; satu URL proxy sudah cukup.

Cara Mengatur Proxy Berotasi di Scrapy