Scrapy ની છબી વિનંતીઓમાં પ્રોક્સી જોડો
ImagesPipeline દ્વારા બનાવેલી Requests સજાવો, જેથી પાઇપલાઇનની વિનંતી-લોજિક ફરી બનાવ્યા વિના છબી ડાઉનલોડને પ્રોક્સી મળે.
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 ક્ષેત્ર ભરેલું છોડી શકે છે. ખૂટતા પરિણામોને ડાઉનલોડર લૉગ અને પસંદ કરેલી પ્રોક્સી દ્વારા શોધો.