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.

Əlaqəli məqalələr