ایک اسپائیڈر scrapy crawl کے تحت متوقع پروکسی استعمال کر سکتا ہے اور Python اسکرپٹ سے شروع ہونے پر سیدھا چلا جاتا ہے۔ پروکسی سرور بدلنے سے پہلے دیکھیں کہ وہ اسکرپٹ اپنی ترتیبات کیسے بناتی ہے۔

موجودہ Scrapy پروجیکٹ اور اس کے رجسٹرڈ اسپائیڈر کے لیے:

from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings

settings = get_project_settings()
process = CrawlerProcess(settings=settings)
process.crawl('catalog')
process.start()

catalog کو منصوبے کے اسپائیڈر کے نام سے بدلیں۔ منصوبہ اپنی scrapy.cfg کے ذریعے، یا درآمد کے قابل ترتیبات ماڈیول کی طرف اشارہ کرتی درست طریقے سے سیٹ SCRAPY_SETTINGS_MODULE کے ذریعے قابلِ تلاش ہونا چاہیے۔

صرف CrawlerProcess() بنانا منصوبے کی ترتیبات کی فائل کو صرف اس لیے درآمد نہیں کرتا کہ اسکرپٹ اسپائیڈر کلاس بھی درآمد کرتی ہے۔ اس لیے DOWNLOADER_MIDDLEWARES کے ذریعے فعال کردہ حسبِ ضرورت مڈل ویئر اس رن میں موجود نہ ہو سکتا ہے۔

ترتیبات لوڈ کرنا ترتیب شدہ اجزاء فراہم کرتا ہے؛ یہ پروکسی پتہ ایجاد نہیں کرتا۔ Scrapy کا HTTP پروکسی مڈل ویئر اب بھی اپنے معمول کے ماحولیاتی پروکسی یا واضح request.meta['proxy'] قدر کا محتاج ہے۔ جانچیں کہ HTTPPROXY_ENABLED نے اسے غیر فعال نہیں کیا۔ اجازت یافتہ عوامی صفحات کی کرال کے لیے HTTP پروکسی فہرست اسی میٹاڈیٹا یا ماحول کے ذریعے دی گئی HTTP پروکسی قدر کے لیے امیدوار فراہم کرتی ہے۔

لانچر کی لوڈ شدہ ترتیبات اور فعال مڈل ویئر کا کمانڈ لائن رن سے موازنہ کریں۔ اگر وہ مطابقت رکھتے ہوں تو منتخب درخواست کے پروکسی میٹاڈیٹا اور حقیقی نقل و حمل کی غلطی کے ساتھ آگے بڑھیں۔

متعلقہ مضامین