Karanta hanyar wakili da IP na haɗi a Scrapy
Yi amfani da bayanan buƙata don wakilin da aka zaɓa, ɗauki response.ip_address a matsayin bayanin abokin da mai sarrafawa ya bayar, kuma tabbatar da IP na fita a inda ake nufi.
Don duba hanyar da aka zaɓa, yi amfani da Request da ke haɗe da amsar da ta kammala. Ka raba abubuwan lura guda uku:
| Fili | Ma'ana |
|---|---|
response.request.meta.get('proxy') | Adireshin wakilin da aka zaɓa na wannan buƙata, idan akwai |
response.ip_address | Adireshin da mai sarrafa saukewa ya bayar, mai yiwuwa None |
| Rahoton tushe daga wuri amintacce | Tushen jama'a da aka gani a can |
A cikin callback, bar sassan URL masu ɗauke da bayanan shiga daga binciken yau da kullum:
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,
)A cikin mai sarrafa HTTP/1.1 na Scrapy 2.13.3 adireshin yana zuwa daga abokin haɗin amsar, ba daga sabis ɗin IP na fita ba. Wasu hanyoyi, ciki har da amsoshi marasa tsayi, na iya barin shi None. Wasu masu sarrafawa na iya cika shi daban. None da kansa ba ya tabbatar da tafiya kai tsaye.
Don duba fita, tambayi wuri amintacce a ƙarƙashin manufar wakili da aka nufa kuma ka riƙe asalin buƙatar tare da abin lura. Middleware mai juyawa na iya ba wata dubawa wani wuri dabam.
Juyar da hanya yana haifar da wata buƙata kuma. Bayanan ƙarshe suna bayyana wannan matakin; duba tarihin juyawa da duk wani sabon zaɓi na middleware maimakon ɗaukarsa a matsayin hujjar hanyar URL ta farko.