پروکسی کے ذریعے Scrapy AutoThrottle: سلاٹس اور تاخیر
ہدف سائٹ کے ڈاؤن لوڈ سلاٹس کو پروکسی راستوں سے الگ رکھیں اور تاخیر کو مشاہدہ شدہ درخواست راستہ سمجھیں۔
بطور طے شدہ، Scrapy ڈاؤن لوڈ سلاٹس درخواست کے URL کے ڈومین سے مقرر کرتا ہے۔ کسی درخواست کو HTTP پروکسی دینے سے وہ URL پروکسی کے ہوسٹ نام میں تبدیل نہیں ہوتا۔ اس لیے مختلف سائٹس کی درخواستیں ایک ہی واسطہ شیئر کرتے ہوئے بھی مختلف سلاٹس رکھ سکتی ہیں۔
AutoThrottle مشاہدہ شدہ ڈاؤن لوڈ تاخیر استعمال کرتے ہوئے ہر سلاٹ کی تاخیر کو ایڈجسٹ کرتا ہے۔ معیاری فی ڈومین ہم وقتی حد اور کم از کم ڈاؤن لوڈ تاخیر اب بھی لاگو ہیں۔
الگورتھم بدلنے سے پہلے گروپ بندی جانچیں
ایک حسب ضرورت مڈل ویئر request.meta["download_slot"] مقرر کر سکتا ہے، جو عام سلاٹ انتخاب کو زیر کر دیتا ہے۔ کچھ پروکسی ایکسٹینشنز اپنی گروپ بندی استعمال کرتی ہیں۔ اگر غیر متعلقہ سائٹس ایک ہی محدود کنندہ شیئر کرتی دکھیں تو وہ ترتیبات دیکھیں۔
اس کے برعکس، ہر پروکسی کے لیے الگ سلاٹ دینے سے کئی پروکسیاں بیک وقت ایک ہی ہدف سے رابطہ کر سکتی ہیں۔ یہ اس سائٹ گیر حد کو توڑ سکتا ہے جس کا کرالر کو احترام کرنا تھا۔ محفوظ وسیلے کے مطابق سلاٹ کلید منتخب کریں۔
تاخیر میں آپ کا استعمال کردہ راستہ شامل ہے
Scrapy تاخیر درخواست بھیجنے سے HTTP ہیڈر ملنے تک ماپتا ہے۔ پروکسی سے گزرنے والی درخواست اس مشاہدے میں واسطے کی قطار اور آگے بھیجنے کی تاخیر شامل کر سکتی ہے۔ AutoThrottle صرف ماخذ کے لیے الگ پروسیسنگ وقت نہیں پاتا۔
ہم وقتی بڑھانے سے وہ پیمائش سائٹ کو الگ نہیں کر سکتی۔ جب دونوں اہم ہوں تو ہدف کے ساتھ شائستگی اور پروکسی کی صلاحیت کو الگ حدود کے طور پر رکھیں۔ مشترکہ پروکسی کو ہدف سلاٹس میں اضافی ہم وقتی بجٹ درکار ہو سکتا ہے، جبکہ ہر ہدف اپنی شرح پالیسی رکھتا ہے۔