پروکسی برای هر درخواست با میانافزار پروکسی HTTP اسکرپی
پیش از کپی کردن یک میانافزار احراز هویت سفارشی قدیمی در خزنده، از فرادادههای درخواست Scrapy و میانافزار پروکسی آن استفاده کنید.
میانافزار پروکسی HTTP اسکرپی پروکسی را از فرادادههای درخواست میخواند:
yield scrapy.Request(
'https://example.com/',
callback=self.parse,
meta={'proxy': 'http://203.0.113.10:8080'},
)
نقطه پایانی مستندات را جایگزین کنید و میانافزار را فعال نگه دارید. فهرست پروکسی HTTP نامزدهای عمومی را برای نشانی این درخواست ارائه میدهد. این مسیر درخواست را انتخاب میکند؛ یک استخر پروکسی به منطق انتخاب جداگانه نیاز دارد.
احراز هویت از نقطه پایانی انتخابشده پیروی میکند
میانافزار داخلی اعتبارنامههایی را که از طریق نشانی پروکسی پشتیبانیشده و سرصفحه مجوز مرتبط ارائه میشوند مدیریت میکند. نویسههای رزروشده نشانی را فرار دهید و از ثبت آن نشانی خودداری کنید.
یک میانافزار جداگانه نباید پس از تغییر نقطه پایانی، سرصفحه Basic پروکسی قبلی را نگه دارد. بگذارید یک لایه مسیر و اعتبارنامههایش را با هم مدیریت کند.
ترتیب انتخاب و پیشفرضها
اگر میانافزار دانلود سفارشی پروکسی را انتخاب میکند، آن را پیش از پردازش درخواست توسط میانافزار پروکسی داخلی اجرا کنید. ترتیب و API نسخه نصبشده را بررسی کنید؛ وارداتهای منسوخ scrapy.contrib به نسخههای قدیمیتر تعلق دارند.
محیط فرایند نیز میتواند پیشفرضهای مخصوص طرح را فراهم کند. برای یک درخواست عمداً مستقیم، از رفتار ویژه مستندشده فراداده proxy استفاده کنید: نبودن کلید لزوماً به معنای دسترسی مستقیم نیست.
نتیجه واقعی را بررسی کنید. خطای 407 مربوط به احراز هویت پروکسی است، در حالی که محدودیت نرخ یا رد دسترسی وبسایت میتواند پس از کارکرد صحیح مسیر رخ دهد.