Scrapy નું પ્રોક્સી એન્ડપોઈન્ટ અને કનેક્શન IP વાંચવું
પસંદ કરેલા પ્રોક્સી માટે વિનંતીના મેટાડેટાનો ઉપયોગ કરો, response.ip_address ને હેન્ડલર દ્વારા આપેલ પીઅર માહિતી તરીકે ગણો અને લક્ષ્ય પર એક્ઝિટ IP ચકાસો.
પૂર્ણ થયેલા પ્રતિભાવ સાથે જોડાયેલ Request નો ઉપયોગ કરીને તેના પસંદ કરેલા માર્ગની તપાસ કરો. ત્રણ અવલોકનો અલગ રાખો:
| ક્ષેત્ર | અર્થ |
|---|---|
response.request.meta.get('proxy') | આ વિનંતીનું પસંદ કરેલ પ્રોક્સી URL, જ્યારે હાજર હોય |
response.ip_address | ડાઉનલોડ હેન્ડલર દ્વારા આપેલ સરનામું, કદાચ None |
| વિશ્વસનીય લક્ષ્યનો સ્રોત અહેવાલ | ત્યાં અવલોકન કરાયેલ જાહેર સ્રોત |
કૉલબેકની અંદર, ઓળખપત્ર ધરાવતા URL ભાગોને નિયમિત નિદાનમાંથી છોડી દો:
from urllib.parse import urlsplit
proxy = response.request.meta.get('proxy')
proxy_host = urlsplit(proxy).hostname if proxy else None
self.logger.info(
'target_host=%s proxy_host=%s peer_ip=%s',
urlsplit(response.url).hostname, proxy_host, response.ip_address,
)Scrapy 2.13.3 ના HTTP/1.1 હેન્ડલરમાં સરનામું પ્રતિભાવના કનેક્શન પીઅરથી આવે છે, એક્ઝિટ-IP સેવાથી નહીં. કેટલાક માર્ગો, શૂન્ય-લંબાઈના પ્રતિભાવો સહિત, તેને None રાખી શકે છે. અન્ય હેન્ડલર તેને અલગ રીતે ભરી શકે છે. None પોતે સીધું રાઉટિંગ સાબિત કરતું નથી.
એક્ઝિટ ચકાસણી માટે, ઇચ્છિત પ્રોક્સી નીતિ હેઠળ વિશ્વસનીય એન્ડપોઈન્ટને પૂછો અને વિનંતીની ઓળખ અવલોકન સાથે રાખો. ફરતું મિડલવેર પછીની ચકાસણીને બીજું એન્ડપોઈન્ટ આપી શકે છે.
રીડાયરેક્ટ પણ બીજી વિનંતી બનાવે છે. અંતિમ મેટાડેટા તે તબક્કાનું વર્ણન કરે છે; પ્રથમ URL ના માર્ગના પુરાવા તરીકે ગણવાને બદલે રીડાયરેક્ટ ઇતિહાસ અને મિડલવેરની કોઈપણ ફરી-પસંદગી તપાસો.