from scrapy.pipelines.images import ImagesPipeline

class ProxiedImagesPipeline(ImagesPipeline):
    def get_media_requests(self, item, info):
        for request in super().get_media_requests(item, info):
            request.meta['proxy'] = 'http://proxy.example:8080'
            yield request

Scrapy 2.13.3 üçün ITEM_PIPELINES içindəki standart ImagesPipeline girişini bu alt sinfin idxal yolu ilə əvəz edin. IMAGES_STORE və digər parametrləri saxlayın.

Valideyni çağırmaq onun konfiqurasiya edilmiş şəkil-URL sahəsini və callback-lərini qoruyur. Alt sinif yalnız sorğu marşrutunu əlavə edir və onu aktiv HttpProxyMiddleware istehlak edir. Hər şəkil URL-i öz təyinatı olaraq qalır. Proksi etimadnaməsi olmayan yeni ictimai şəkil sorğuları, marşruta icazə verildikdə HTTP proksi siyahısından bir giriş istifadə edə bilər.

Səhifə sorğuları öz siyasətlərini saxlayır. Qlobal proksi mühiti ilə meta={'proxy': None} bu buraxılışda seçilmiş səhifə sorğusunu birbaşa edir.

Endirmənin həqiqətən göndərildiyini yoxlayın. Boru xətti keşinin hiti şəbəkə sorğusundan qaçına bilər. Yeni ötürmələr üçün tamamlanmış şəkil nəticə girişlərini sorğulanan URL-lərlə müqayisə edin: uğurlu əməliyyatlar orada görünür, uğursuzluqlar isə orijinal şəkil-URL sahəsini dolu qoya bilər. İtkin nəticələri endirici qeydləri və seçilmiş proksi vasitəsilə izləyin.

Əlaqəli məqalələr