Scrapy shell-də bir fetch üçün proxy
Scrapy shell daxilində Request-in proxy metadatasından istifadə edin və həmin konfiqurasiya edilmiş sorğudan cavabı yoxlayın.
Scrapy shell daxilində yükləyicinin yerinə yetirməsini istədiyiniz sorğunu qurun:
from scrapy import Request
fetch(Request(
"https://www.example.com/",
meta={"proxy": "http://proxy.example:8080"},
))
response.status
HttpProxyMiddleware proxy dəyərini həmin Request-in metadatasından oxuyur. O, aktiv yükləyici middleware konfiqurasiyasında aktivləşdirilməlidir. Sonrakı response dəyişəni bu fetch-ə aiddir. Bu ictimai URL üçün, ictimai vasitəçilərə icazə verilirsə, HTTP proxy siyahısından autentifikasiyasız HTTP ünvanı seçin, sonra onun URL-ni həmin sorğunun proxy metadatasına yerləşdirin.
Shell-i Scrapy layihəsindən başlatmaq ona həmin layihənin konfiqurasiyasını yükləməyə imkan verir. Bu, middleware və digər parametrləri seçir; özü konkret proxy son nöqtəsini seçmir. Yuxarıdakı sorğu metadatası bu seçimi birbaşa təmin edir.
Basic etimadnaməsindən istifadə edən proxy üçün Scrapy proxy URL-də istifadəçi məlumatını sənədləşdirir. Onu qurmadan əvvəl hesab hissələrindəki qorunan simvolları kodlaşdırın. Həmin hesab üçün vebsayt Authorization başlığı əlavə etməyə ehtiyac yoxdur.
Scrapy həmçinin dəstəklədiyi mühit dəyişənlərindən proxy-ləri tapa bilər. Sorğunun açıq proxy metadatası üstünlük təşkil edir. Qəsdən birbaşa sorğu üçün None proxy dəyəri həmin middleware-in mühitə əsaslanan seçimini sorğu üçün söndürür.