یک پروکسی برای یک واکشی در Scrapy shell
از فرادادههای پروکسی یک Request در Scrapy shell استفاده کنید و پاسخ آن درخواست پیکربندیشده را بررسی کنید.
در Scrapy shell، درخواستی را بسازید که میخواهید دانلودر انجام دهد:
from scrapy import Request
fetch(Request(
"https://www.example.com/",
meta={"proxy": "http://proxy.example:8080"},
))
response.status
HttpProxyMiddleware مقدار پروکسی را از فرادادههای آن Request میخواند. باید در پیکربندی میدلور دانلودر فعال، فعال باشد. متغیر response پس از آن متعلق به همین واکشی است. برای این URL عمومی، اگر واسطههای عمومی مجاز هستند، نشانی HTTP بدون احراز هویت را از فهرست پروکسی HTTP انتخاب کنید، سپس URL آن را در فرادادههای پروکسی همان درخواست قرار دهید.
شروع shell از پروژه Scrapy به آن اجازه میدهد پیکربندی آن پروژه را بارگذاری کند. این کار میدلور و تنظیمات دیگر را انتخاب میکند؛ خودش نقطه پایانی پروکسی خاصی انتخاب نمیکند. فرادادههای درخواست در بالا آن انتخاب را مستقیم فراهم میکند.
برای پروکسی که از اعتبارنامه Basic استفاده میکند، Scrapy اطلاعات کاربر را در URL پروکسی مستند میکند. پیش از ساخت آن، نویسههای رزروشده را در اجزای حساب کدگذاری کنید. نیازی به افزودن سرصفحه Authorization وبسایت برای آن حساب نیست.
Scrapy همچنین میتواند پروکسیها را از متغیرهای محیطی پشتیبانیشدهاش کشف کند. فرادادههای پروکسی صریح یک درخواست اولویت دارند. برای درخواستی که عامدانه مستقیم است، مقدار پروکسی None انتخاب مبتنی بر محیط آن میدلور را برای درخواست غیرفعال میکند.