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 માટે, ITEM_PIPELINES માંની પ્રમાણભૂત ImagesPipeline પ્રવેશને આ સબક્લાસના import પથ સાથે બદલો. IMAGES_STORE અને અન્ય સેટિંગ્સ રાખો.

પિતૃને કૉલ કરવાથી તેનું ગોઠવેલું છબી-URL ક્ષેત્ર અને callback સચવાય છે. સબક્લાસ ફક્ત વિનંતી-માર્ગ ઉમેરે છે, જેને સક્રિય HttpProxyMiddleware વાપરે છે. દરેક છબી URL તેનું લક્ષ્ય રહે છે. પ્રોક્સી ઓળખપત્રો વિનાની નવી જાહેર-છબી વિનંતીઓ, તે માર્ગ મંજૂર હોય ત્યારે HTTP પ્રોક્સી સૂચિમાંથી એક પ્રવેશ વાપરી શકે છે.

પૃષ્ઠ વિનંતીઓ પોતાની નીતિ રાખે છે. વૈશ્વિક પ્રોક્સી પર્યાવરણ સાથે, આ આવૃત્તિમાં meta={'proxy': None} પસંદ કરેલી પૃષ્ઠ વિનંતીને સીધી બનાવે છે.

ડાઉનલોડ ખરેખર બહાર પડ્યું છે કે નહીં તે તપાસો. પાઇપલાઇન કૅશ હિટ નેટવર્ક વિનંતી ટાળી શકે છે. નવા ટ્રાન્સફર માટે, પૂર્ણ-છબી પરિણામ પ્રવેશોને માંગેલી URL સાથે સરખાવો: સફળ ક્રિયાઓ ત્યાં દેખાય છે, જ્યારે નિષ્ફળતાઓ મૂળ છબી-URL ક્ષેત્ર ભરેલું છોડી શકે છે. ખૂટતા પરિણામોને ડાઉનલોડર લૉગ અને પસંદ કરેલી પ્રોક્સી દ્વારા શોધો.

સંબંધિત લેખો