GBProxies

Scrapy-তে ঘূর্ণায়মান প্রক্সি সেট আপ করার方法

Scrapy-এর অন্তর্নির্মিত HttpProxyMiddleware request.meta থেকে প্রক্সি পড়ে। একটি ঘূর্ণায়মান গেটওয়ে দিয়ে আপনি একটি URL সেট করেন এবং প্রতিটি রিকোয়েস্ট এখনও একটি নতুন IP পায়।

ধাপসমূহ

  1. HttpProxyMiddleware সক্ষম রাখুন (এটি ডিফল্টভাবে চালু থাকে)
  2. প্রতিটি রিকোয়েস্টে, বা start_requests-এ meta={"proxy": url} সেট করুন
  3. প্রক্সি URL-এ ইউজারনেম এবং পাসওয়ার্ড দিন
  4. যদি কোনো সাইট এখনও রেট লিমিট করে, তাহলে CONCURRENT_REQUESTS_PER_DOMAIN কমিয়ে দিন

উদাহরণ কোড

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}

USERNAME এবং PASSWORD কে কনসোলের Proxies পৃষ্ঠা থেকে প্রক্সি লগিন দিয়ে প্রতিস্থাপন করুন। পোর্ট 10000 হল রেসিডেনশিয়াল HTTP; প্রতিটি পণ্যের পোর্ট নিচে দেখুন।

টিপস

  • IMAGES_ENABLED অফ রাখুন এবং মিডিয়া ডাউনলোড এড়িয়ে GB সেভ করুন
  • স্থির রানের জন্য DOWNLOAD_TIMEOUT 30 এবং RETRY_TIMES 3 সেট করুন

সাধারণ প্রশ্নসমূহ

আমার কি রোটেশন মিডলওয়্যার দরকার?

না। গেটওয়ে আপনার জন্য রোটেট করে; একটি প্রক্সি URLই যথেষ্ট।

Scrapy-তে ঘূর্ণায়মান প্রক্সি সেট আপ করার方法