In this Article
Scrapy میں روٹیٹنگ پراکسیز IP پتوں کا ایسا مجموعہ ہیں جنہیں اسپائیڈر باری باری استعمال کرتا ہے۔ یوں مسلسل درخواستیں مختلف پتوں سے بھیجی جاتی ہیں اور درخواستوں کی حد لگنے یا IP بین ہونے کا امکان کم ہوتا ہے۔ اس ٹیوٹوریل میں بتایا گیا ہے کہ scrapy-rotating-proxies مڈل ویئر اور DataImpulse کے روٹیٹنگ ریزیڈنشل گیٹ وے کے ذریعے ایک عملی پروجیکٹ میں روٹیٹنگ پراکسیز کیسے شامل کریں، پھر سیٹ اپ کی جانچ اور خرابیوں کا ازالہ کیسے کریں۔
آپ مڈل ویئر انسٹال کریں گے، settings.py ترتیب دیں گے، بین کی شناخت اور دوبارہ کوششیں شامل کریں گے، دیکھیں گے کہ ایگزٹ IP واقعی بدلتا ہے، اور روٹیٹنگ گیٹ وے یا مستقل پراکسی فہرست میں سے مناسب انتخاب کریں گے۔ نیچے ہر کوڈ بلاک قابلِ عمل ہے، جبکہ اخلاقی حدود پر آخر میں بات کی گئی ہے۔
DataImpulse ایک اخلاقی پراکسی فراہم کنندہ ہے جو 195 ممالک میں 90 ملین سے زیادہ ریزیڈنشل، موبائل اور ڈیٹا سینٹر IP پتے پیش کرتا ہے۔ اس کا ادائیگی بمطابق استعمال ماڈل 1 ڈالر فی GB سے شروع ہوتا ہے اور ٹریفک کی میعاد ختم نہیں ہوتی۔ اسے ویب اسکریپنگ، اشتہارات کی تصدیق، قیمتوں کی نگرانی، مارکیٹ ریسرچ اور متعدد اکاؤنٹس کے انتظام کے لیے استعمال کیا جاتا ہے۔
اہم حقائق
- سیٹ اپ: Scrapy میں روٹیٹنگ پراکسیز کے لیے scrapy-rotating-proxies مڈل ویئر کو پراکسی اختتامی نقاط کی فہرست، یا gw.dataimpulse.com:823 جیسے ایک واحد روٹیٹنگ گیٹ وے کے ساتھ ترتیب دیا جاتا ہے، تاکہ ہر درخواست مختلف IP سے بھیجی جا سکے۔
- بہترین پراکسی قسم: روٹیٹنگ ریزیڈنشل پراکسیز، جو حقیقی صارفین کے IP استعمال کرتی ہیں اور عموماً ان کی شناخت مشکل ہوتی ہے۔
- قیمت: 1 ڈالر فی GB سے، ادائیگی بمطابق استعمال، ٹریفک ختم نہ ہونے اور بغیر سبسکرپشن کے۔
- کوریج: 195 ممالک میں 90M سے زیادہ اخلاقی طور پر حاصل کردہ IP۔
- بھروسا مندی: 99.51% کامیابی کی شرح، G2 پر 5 میں سے 4.8 درجہ بندی۔
- پروٹوکولز اور ٹارگٹنگ: HTTP، HTTPS اور SOCKS5، ملک کے لحاظ سے ٹارگٹنگ سمیت۔

Scrapy میں روٹیٹنگ پراکسیز شروع کرنے سے پہلے آپ کو کیا درکار ہے؟
آپ کو ایک فعال Scrapy پروجیکٹ، Python 3.8 یا اس کے بعد کا ورژن، scrapy-rotating-proxies پیکج، اور پراکسی اختتامی نقاط کے ایک پول تک رسائی درکار ہے۔ روٹیشن کی منطق ڈاؤن لوڈر مڈل ویئر میں ہوتی ہے، اس لیے اسپائیڈرز میں تبدیلی کی ضرورت نہیں پڑتی۔
کوڈ لکھنے سے پہلے درج ذیل چیزیں جمع کریں:
scrapy startprojectکے ساتھ بنایا گیا ایک Scrapy پروجیکٹ۔- scrapy-rotating-proxies مڈل ویئر، جو کمیونٹی کا تیار کردہ پیکج ہے۔ اس کے استعمال کی وضاحت اسکریپنگ ورک فلو میں موجود ہے، اور یہ GitHub پر scrapy-rotating-proxies کے نام سے دستیاب ہے۔
- پراکسی کی اسناد۔ یہ گائیڈ DataImpulse کی ریزیڈنشل پراکسیز استعمال کرتی ہے، جو ایک واحد روٹیٹنگ گیٹ وے کے علاوہ HTTP، HTTPS اور SOCKS5 سپورٹ اور ملک کے لحاظ سے ٹارگٹنگ فراہم کرتی ہیں۔
مڈل ویئر کو اپنے پروجیکٹ کے ماحول میں انسٹال کریں:
pip install scrapy-rotating-proxies
یہ پیکج دو مڈل ویئر شامل کرتا ہے: RotatingProxyMiddleware، جو ہر درخواست کو ایک پراکسی تفویض کرتا ہے، اور BanDetectionMiddleware، جو فیصلہ کرتا ہے کہ آیا کوئی جواب بلاک جیسا لگتا ہے اور ناکام ہوتے IP سے دور گھوم جاتا ہے۔
Scrapy میں روٹیٹنگ پراکسیز کیسے استعمال کریں؟
آپ scrapy-rotating-proxies کو settings.py میں اپنے پراکسی اینڈ پوائنٹس کا اعلان کر کے اور اس کے دو ڈاؤن لوڈر مڈل ویئر فعال کر کے شامل کرتے ہیں۔ پراکسیز فراہم کرنے کے دو طریقے ہیں: ایک اِن لائن Python لسٹ، یا کسی راستے سے لوڈ کی گئی ایک ٹیکسٹ فائل۔
اِن لائن طریقہ ROTATING_PROXY_LIST استعمال کرتا ہے۔ دونوں مڈل ویئر کو دکھائی گئی ترجیحات پر فعال کریں تاکہ وہ درست ترتیب میں چلیں:
# settings.py
ROTATING_PROXY_LIST = [
'http://user:[email protected]:823',
]
DOWNLOADER_MIDDLEWARES = {
'rotating_proxies.middlewares.RotatingProxyMiddleware': 610,
'rotating_proxies.middlewares.BanDetectionMiddleware': 620,
}
اسناد کو سورس کنٹرول سے باہر رکھنے کے لیے، ROTATING_PROXY_LIST_PATH استعمال کریں اور اسے ایک ایسی فائل کی طرف اشارہ کریں جس میں فی سطر ایک پراکسی ہو:
# settings.py
ROTATING_PROXY_LIST_PATH = 'proxies.txt'
# proxies.txt (one endpoint per line)
http://user:[email protected]:823
http://user:[email protected]:824
DataImpulse گیٹ وے طویل پراکسی فہرست برقرار رکھنے کے بجائے ایک ہی اختتامی نقطہ استعمال کرنے کا متبادل ہے۔ چونکہ gw.dataimpulse.com:823 خود فراہم کنندہ کی طرف سے ایگزٹ IP بدلتا ہے، آپ صرف یہی ایک سطر شامل کر سکتے ہیں۔ گیٹ وے ہر درخواست کے لیے نیا ریزیڈنشل IP منتخب کرتا ہے، اور جواب کے بلاک ہونے پر مڈل ویئر اسی گیٹ وے سے دوبارہ کوشش کرتا ہے۔ زیادہ تر کرالز کے لیے یہ سب سے سادہ اور قابلِ اعتماد طریقہ ہے۔
اگر آپ پراکسی کو عالمی سطح کے بجائے فی درخواست سیٹ کرنا چاہتے ہیں، تو اسے کسی اسپائیڈر میں request کے meta کے ذریعے تفویض کریں۔ اسی طرح پراکسی کی تصدیق واضح طور پر منسلک بھی کی جاتی ہے، جس کا احاطہ DataImpulse کی پراکسی تصدیق کی گائیڈ میں کیا گیا ہے:
import scrapy
class GatewaySpider(scrapy.Spider):
name = 'gateway'
urls = ['https://httpbin.org/ip']
def start_requests(self):
proxy = 'http://user:[email protected]:823'
for url in self.urls:
yield scrapy.Request(url, meta={'proxy': proxy}, dont_filter=True)
Scrapy میں روٹیٹنگ پراکسیز کے کام کرنے کی تصدیق کیسے کریں؟
آپ روٹیشن کی تصدیق ایک IP-echo اینڈ پوائنٹ پر کئی درخواستیں بھیج کر اور یہ تصدیق کر کے کرتے ہیں کہ رپورٹ کیا گیا اصل IP جوابات کے دوران بدلتا ہے۔ httpbin.org/ip کال کرنے والے کا ایگزٹ IP لوٹاتا ہے، جو اسے ایک فوری جانچ بنا دیتا ہے۔
ایک مختصر اسپائیڈر شامل کریں جو echo اختتامی نقطے پر دس درخواستیں بھیجے اور ہر ایگزٹ IP کو لاگ کرے:
import scrapy
class IPCheckSpider(scrapy.Spider):
name = 'ipcheck'
start_urls = ['https://httpbin.org/ip'] * 10
def parse(self, response):
self.logger.info('Exit IP: %s', response.json()['origin'])
اسے پروجیکٹ کی روٹ سے چلائیں:
scrapy crawl ipcheck
لاگ میں Exit IP کی کئی مختلف قدریں نظر آنی چاہئیں۔ اگر ہر سطر میں ایک ہی پتہ ہو تو روٹیشن فعال نہیں ہے۔ تصدیق کریں کہ مڈل ویئر فعال ہیں، ROTATING_PROXY_LIST خالی نہیں، اور درخواستیں HTTP کیش سے نہیں آ رہیں۔ مڈل ویئر پراکسی کی حالت بھی لاگ کرتا ہے، اس لیے good، dead اور reanimated پراکسیز والی سطریں دیکھیں تاکہ معلوم ہو کہ پول کا انتظام ہو رہا ہے۔
Scrapy روٹیٹنگ پراکسیز کے ساتھ بینز اور 407 خرابیوں کا ازالہ کیسے کریں؟
روٹیشن کے زیادہ تر مسائل دو سوالوں تک محدود ہو جاتے ہیں: کیا مڈل ویئر بینز کو درست طریقے سے شناخت کر رہا ہے، اور کیا پراکسی تصدیق ترتیب دی گئی ہے۔ بین کی کمزور شناخت بلاک شدہ IP کو بار بار ناکام جواب دینے دیتی ہے، جبکہ غلط ترتیب شدہ لاگ اِن HTTP 407 لوٹاتا ہے۔
بین شناخت کو اندازے کے بجائے سوچی سمجھی بنانے کے لیے، یہ گائیڈ Scrapy کے لیے چار سگنل بین شناخت ماڈل تجویز کرتی ہے۔ یہ ہر جواب کو چار الگ سگنلز کی بنیاد پر پرکھتی ہے، تاکہ ایک غلط مثبت نتیجے کی وجہ سے صحت مند پراکسی رد نہ ہو:
- اسٹیٹس کوڈ: 403، 429 اور 503 کو بین کے امیدوار سمجھیں، اور 200، 301 اور 302 کو صحت مند۔
- ری ڈائریکٹ ہدف: کسی لاگ اِن، captcha، یا چیلنج راستے کی طرف 302 ایک نرم بین ہے، چاہے اسٹیٹس ٹھیک نظر آئے۔
- باڈی فنگر پرنٹ: باڈی میں کیپچا، رسائی مسترد ہونے، یا خالی پے لوڈ جیسے اشارے تلاش کریں، جو عام طور پر حقیقی صفحہ واپس نہیں کرتا۔
- لیٹنسی: چلتی اوسط کے مقابلے میں بہت سست جواب اکثر مکمل بلاک ہونے سے پہلے رفتار محدود کیے جانے کا اشارہ دیتا ہے۔
اس پالیسی کو ایک کلاس میں کوڈ کریں اور اسے رجسٹر کریں تاکہ BanDetectionMiddleware ڈیفالٹ کے بجائے آپ کی منطق استعمال کرے:
# ban_policy.py
class DataImpulseBanPolicy:
NOT_BAN_STATUSES = {200, 301, 302}
def response_is_ban(self, request, response):
if response.status in (403, 429, 503):
return True
if b'captcha' in response.body.lower():
return True
if not response.body:
return True
return False
def exception_is_ban(self, request, exception):
return True
# settings.py
ROTATING_PROXY_BAN_POLICY = 'myproject.ban_policy.DataImpulseBanPolicy'
اس شناخت کو دوبارہ کوششوں اور بیک آف کے ساتھ ملائیں تاکہ نشان زد درخواست ناکام ہونے کے بجائے نئے IP سے بھیجی جا سکے۔ Scrapy ری ٹرائی کوڈز سنبھالتا ہے، اور مڈل ویئر فی صفحہ پراکسی ری ٹرائیز سنبھالتا ہے:
# settings.py
RETRY_ENABLED = True
RETRY_TIMES = 5
RETRY_HTTP_CODES = [403, 407, 429, 500, 502, 503, 504]
ROTATING_PROXY_PAGE_RETRY_TIMES = 5
پول پر غیر ضروری دباؤ سے بچنے کے لیے رفتار محدود کریں۔ DOWNLOAD_DELAY درخواستوں کے درمیان وقفہ رکھتا ہے، اور AUTOTHROTTLE سرور کی تاخیر کے مطابق اسے ڈھالتا ہے:
# settings.py
DOWNLOAD_DELAY = 1.0
CONCURRENT_REQUESTS = 16
AUTOTHROTTLE_ENABLED = True
AUTOTHROTTLE_START_DELAY = 1.0
AUTOTHROTTLE_MAX_DELAY = 10.0
AUTOTHROTTLE_TARGET_CONCURRENCY = 4.0
اگر درخواستیں HTTP 407 لوٹاتی ہیں، تو ہدف سائٹ کے آپ کو بلاک کرنے کے بجائے پراکسی نے آپ کی اسناد مسترد کر دیں۔ جانچیں کہ صارف نام اور پاس ورڈ بعینہٖ جیسے جاری کیے گئے پراکسی URL میں سرایت شدہ ہیں اور اگر ان میں خاص حروف ہوں تو URL-انکوڈ شدہ ہیں۔ مکمل تشخیص DataImpulse کی HTTP 407 خرابی کی گائیڈ میں ہے۔ وہ سائٹس جو مواد صرف JavaScript کے عمل کے بعد ظاہر کرتی ہیں انہیں ایک ہیڈ لیس تہہ کی بھی ضرورت ہوتی ہے، جس کا احاطہ متحرک ویب صفحات کی اسکریپنگ میں کیا گیا ہے۔
کون سا روٹیٹنگ پراکسی سیٹ اپ آپ کے Scrapy پروجیکٹ کے لیے موزوں ہے؟
زیادہ تر کرالز کے لیے ایک روٹیٹنگ گیٹ وے استعمال کریں، جب آپ کو انفرادی IPs کو کنٹرول کرنے کی ضرورت ہو تو ایک اسٹیٹک پراکسی لسٹ، اور کسٹم مڈل ویئر صرف اس وقت جب آپ کے روٹیشن قواعد غیر معمولی ہوں۔ انتخاب کا دارومدار اس بات پر ہے کہ آپ کو کتنا کنٹرول چاہیے اور آپ سیٹ اپ کی کتنی پیچیدگی سنبھال سکتے ہیں۔
نیچے دیا گیا فیصلہ میٹرکس اسے ٹھوس بنا دیتا ہے:
- روٹیٹنگ گیٹ وے تب استعمال کریں جب آپ ایک اینڈ پوائنٹ کے ساتھ فی درخواست IP تنوع چاہتے ہوں، جب ہدف IP کے لحاظ سے ریٹ لیمٹس نافذ کرے، اور جب آپ کوئی پراکسی فائل بالکل بھی سنبھالنا نہ چاہتے ہوں۔
- اسٹیٹک پراکسی لسٹ تب استعمال کریں جب آپ کو دوبارہ قابلِ تخلیق سیشنز درکار ہوں، ہر اسپائیڈر کے لیے مخصوص خطے پن کرنا چاہتے ہوں، یا بعینہٖ یہ آڈٹ کرنا ہو کہ کون سے اینڈ پوائنٹس استعمال ہوئے۔
- کسٹم مڈل ویئر تب سے گریز کریں جب scrapy-rotating-proxies پہلے ہی آپ کی ضروریات پوری کرتا ہو، کیونکہ ایک مخصوص مڈل ویئر دیکھ بھال اور اپنی بین شناخت کی خرابیاں بڑھاتا ہے۔
- روٹیٹنگ گیٹ وے تب سے گریز کریں جب کسی ورک فلو کو کئی مراحل والے لاگ اِن کے دوران ایک ہی IP برقرار رکھنے کی ضرورت ہو، جہاں اس کے بجائے ایک اسٹکی سیشن درست ٹول ہے۔
تین طریقوں کا موازنہ یہ ہے:
| طریقہ | روٹیشن کنٹرول | سیٹ اپ محنت | بہترین موزونیت |
|---|---|---|---|
| روٹیٹنگ گیٹ وے (واحد اینڈ پوائنٹ) | فراہم کنندہ فی درخواست گھماتا ہے | سب سے کم، settings میں ایک سطر | بڑے کرالز، IP کی بنیاد پر ریٹ لیمٹس |
| پراکسی لسٹ فائل | مڈل ویئر آپ کے اینڈ پوائنٹس گھماتا ہے | درمیانی، ایک پراکسی فائل برقرار رکھیں | خطہ پننگ، قابلِ آڈٹ پولز |
| کسٹم مڈل ویئر | مکمل، منطق آپ لکھتے ہیں | سب سے زیادہ، کوڈ کے علاوہ ٹیسٹ | غیر معیاری روٹیشن قواعد |
DataImpulse اپنے گیٹ وے سے روٹیشن فراہم کرتا ہے اور جب آپ کو تسلسل درکار ہو تو اسٹکی سیشنز کی بھی حمایت کرتا ہے، اس لیے بہت سی ٹیمیں گیٹ وے سے شروع کرتی ہیں اور لسٹ فائلیں انہی چند اسپائیڈرز کے لیے محفوظ رکھتی ہیں جنہیں کسی خطے کو پن کرنا ہو۔ اگر لاگت اور رفتار ریزیڈنشل بھروسے سے زیادہ اہم ہوں، تو ڈیٹا سینٹر پراکسیز اور موبائل پراکسیز اسی اکاؤنٹ پر متبادل ہیں۔
Scrapy میں روٹیٹنگ پراکسیز کی حدود اور خطرات کیا ہیں؟
روٹیٹنگ پراکسیز IP کی بنیاد پر بلاکس کم کرتی ہیں، مگر اسکریپر کو پوشیدہ نہیں بناتیں اور نہ ہی ناقص ترتیب والے اسپائیڈر کے مسائل حل کرتی ہیں۔ روٹیشن حفاظتی تدبیر ہے، ضمانت نہیں۔
ان حدود کو نظر میں رکھیں:
- روٹیشن فنگر پرنٹنگ کو شکست نہیں دیتی۔ سائٹس ہیڈرز، TLS دستخط اور رویے کا خاکہ بھی بناتی ہیں، اس لیے ڈیفالٹ Scrapy user agent کے ساتھ نیا IP بھی نشان زد ہو سکتا ہے۔
- کیپچا اب بھی آ سکتے ہیں۔ ایک روٹیٹنگ IP یہ کم کرتا ہے کہ وہ کتنی بار چلیں لیکن انہیں حل نہیں کرتا؛ آپ کو پھر بھی ایک captcha حکمتِ عملی یا ایک سست کرال درکار ہے۔
- جغرافیائی عدم مطابقت شور پیدا کرتی ہے۔ اگر آپ کسی ملک کو ہدف بناتے ہیں لیکن کسی اور خطے کی توقع رکھنے والے مقامی صفحات مانگتے ہیں، تو روٹیشن کے کام کرنے کے باوجود جوابات غلط لگ سکتے ہیں۔
- جارحانہ کنکرنسی الٹا نقصان دیتی ہے۔ بہت زیادہ بیک وقت درخواستیں پول پر دباؤ بڑھاتی ہیں اور بین کی شرح میں اضافہ کرتی ہیں، اسی لیے AUTOTHROTTLE اہم ہے۔
- قانونی اور شرائط کی حدود لاگو ہوتی ہیں۔ روٹیشن ایک بھروسے مندی کا آلہ ہے، اجازت نہیں؛ robots ہدایات، ریٹ لیمٹس اور قابلِ اطلاق قانون کا احترام کریں۔
دائرہ کار کے بارے میں، واضح رہیں کہ DataImpulse کیا ہے: ایک اخلاقی، آپٹ اِن پراکسی نیٹ ورک جس میں 195 ممالک میں 90M سے زیادہ IPs، 1 ڈالر فی GB سے ادائیگی بمطابق استعمال، اور 99.51 فیصد کامیابی کی شرح ہے۔ یہ ایسا منظم اسکریپنگ API نہیں جو تجزیہ شدہ ڈیٹا واپس کرے، نہ ہی یہ مستقل ISP پراکسیز یا مفت ویب پراکسی فراہم کرتا ہے۔ کرالنگ اب بھی Scrapy کرتا ہے؛ پراکسیز صرف یہ بدلتی ہیں کہ درخواستیں کہاں سے نکلتی ہیں۔

اکثر پوچھے گئے سوالات
Scrapy میں روٹیٹنگ پراکسیز کیسے استعمال کریں؟
scrapy-rotating-proxies انسٹال کریں، settings.py میں ROTATING_PROXY_LIST یا ROTATING_PROXY_LIST_PATH میں اپنے اینڈ پوائنٹس شامل کریں، اور RotatingProxyMiddleware اور BanDetectionMiddleware ڈاؤن لوڈر مڈل ویئر فعال کریں۔ پھر ہر درخواست مختلف IP سے بھیجی جاتی ہے۔
روٹیٹنگ گیٹ وے اور پراکسی لسٹ میں کیا فرق ہے؟
روٹیٹنگ گیٹ وے ایک اینڈ پوائنٹ ہے جو فراہم کنندہ کی جانب سے فی درخواست ایگزٹ IP بدلتا ہے، اس لیے آپ صرف ایک سطر ترتیب دیتے ہیں۔ ایک پراکسی لسٹ آپ کو بہت سے اینڈ پوائنٹس دیتی ہے جنہیں مڈل ویئر گھماتا ہے، جو اس وقت بہتر ہے جب آپ کو کسی خطے تک محدود رکھنے یا مخصوص IPs آڈٹ کرنے کی ضرورت ہو۔
Scrapy روٹیٹنگ پراکسیز کے ساتھ مجھے HTTP 407 خرابی کیوں ملتی ہے؟
HTTP 407 کا مطلب ہے کہ پراکسی نے آپ کی تصدیق مسترد کر دی، نہ کہ ہدف سائٹ نے آپ کو بلاک کیا۔ تصدیق کریں کہ صارف نام اور پاس ورڈ پراکسی URL میں سرایت شدہ ہیں اور اگر ان میں خاص حروف ہوں تو URL-انکوڈ شدہ ہیں۔
میں کیسے تصدیق کر سکتا ہوں کہ میری Scrapy پراکسیز واقعی گھوم رہی ہیں؟
httpbin.org/ip جیسے IP-echo اینڈ پوائنٹ پر کئی درخواستیں بھیجیں اور origin فیلڈ لاگ کریں۔ اگر رپورٹ کیا گیا IP جوابات کے دوران بدلتا ہے، تو روٹیشن فعال ہے؛ اگر یہ ویسا ہی رہتا ہے، تو جانچیں کہ مڈل ویئر فعال ہیں اور HTTP کیش بند ہے۔
کیا روٹیٹنگ پراکسیز تمام اسکریپنگ بلاکس روک دیتی ہیں؟
نہیں۔ روٹیشن IP کی بنیاد پر ریٹ لیمٹس اور بینز کم کرتی ہے، لیکن سائٹس فنگر پرنٹنگ، کیپچا اور رویاتی جانچیں بھی استعمال کرتی ہیں۔ قابلِ بھروسا کرالز کے لیے روٹیشن کو معقول تاخیر، حقیقت پسندانہ ہیڈرز اور AUTOTHROTTLE کے ساتھ جوڑیں۔
DataImpulse کب درست انتخاب نہیں؟
اگر آپ کو اسٹیٹک ISP پراکسیز، ایک مکمل منظم اسکریپنگ API، یا بینکنگ اور حکومتی سائٹس تک رسائی درکار ہے، تو DataImpulse درست ٹول نہیں۔ یہ عوامی ڈیٹا اکٹھا کرنے اور مواد تک رسائی کے لیے روٹیٹنگ ریزیڈنشل، موبائل اور ڈیٹا سینٹر پراکسیز پر مرکوز ہے۔
Scrapy میں پراکسیز گھمانا شروع کریں
scrapy-rotating-proxies کو DataImpulse کے ایک روٹیٹنگ گیٹ وے کی طرف اشارہ کریں اور ہر درخواست کو ایک تازہ ریزیڈنشل IP سے نکلنے دیں۔ آپ 1 ڈالر فی GB سے ادائیگی بمطابق استعمال اکاؤنٹ بنا سکتے ہیں اور گیٹ وے کی سطر سیدھی اپنے settings.py میں ڈال سکتے ہیں۔
