લોગમાં પ્રોક્સીનું સરનામું બદલાય છે. ગંતવ્ય સ્થાન પ્રોક્સીના એક્સેસ લોગમાં ક્યારેય દેખાતું નથી. તપાસો કે તમારું મિડલવેર વિનંતીને ડાઉનલોડર સુધી પહોંચવા દે છે કે નહીં.

Scrapy ના ડાઉનલોડર મિડલવેરમાં, Request પરત કરવાનો અર્થ એ વિનંતીનું ફરીથી શેડ્યૂલિંગ છે. તેનો અર્થ “હમણાં બદલેલા મેટાડેટા સાથે આ ઑબ્જેક્ટ મોકલવાનું ચાલુ રાખો” એમ નથી.

ફક્ત માર્ગ પસંદ કરતા સિલેક્ટર માટે મહત્વનું સ્વરૂપ આ છે:

def process_request(self, request):
    request.meta['proxy'] = self.choose_proxy()
    return None

આ ટુકડો વર્તમાન હૂક સ્વરૂપ દર્શાવે છે; ઇન્સ્ટોલ કરેલા Scrapy રિલીઝ દ્વારા સમર્થિત મિડલવેર ઇન્ટરફેસ વાપરો. સિલેક્ટરે માન્ય એન્ડપોઇન્ટ પરત કરવો જોઈએ અને અનુપલબ્ધ પૂલને સ્પષ્ટ રીતે સંભાળવો જોઈએ. જાહેર મધ્યસ્થીઓને મંજૂરી આપતું જાહેર ક્રોલ તે પરત મૂલ્ય માટે HTTP પ્રોક્સી સૂચિમાંથી HTTP ઉમેદવારો લઈ શકે છે.

None પરત કરવાથી બાકીનું વિનંતી મિડલવેર અને ડાઉનલોડર ચાલુ રાખે છે. બીજું Request પરત કરવું ત્યારે ઉપયોગી છે જ્યારે તમે જાણી જોઈને કાર્ય બદલો છો અથવા ફરી પ્રયાસ કરો છો, પરંતુ તેને કારણ અને સમાપ્તિ શરતની જરૂર છે.

દર વખતે એ જ વિનંતી પરત કરતું રોટેટર તેનો પોતાનો પસંદગી કોડ વારંવાર ચલાવી શકે છે અને ગંતવ્ય સાથે ક્યારેય કનેક્શન ન બનાવે. ટાઇમઆઉટ વધારવાથી કે વધુ પ્રોક્સી પોર્ટ ખોલવાથી એ કંટ્રોલ-ફ્લો લૂપ સુધરતું નથી.

મિડલવેર પ્રવેશ, પરત વર્તન અને પ્રથમ વાસ્તવિક નેટવર્ક પ્રયાસને અલગ ઘટનાઓ તરીકે તપાસો. “પ્રોક્સી પસંદ કર્યું” કહેતી લોગ લાઇન ફક્ત એ સ્થાપિત કરે છે કે સિલેક્ટર ચાલ્યો. તે એ સ્થાપિત કરતું નથી કે પસંદ કરેલા એન્ડપોઇન્ટનો ઉપયોગ કરતી વિનંતી મોકલાઈ.

સંબંધિત લેખો