Utilitzeu la Request associada a la resposta completada quan examineu la seva ruta seleccionada. Manteniu tres observacions separades:

CampSignificat
response.request.meta.get('proxy')L'URL del proxy seleccionat d'aquesta sol·licitud, si existeix
response.ip_addressAdreça proporcionada pel gestor de descàrregues, possiblement None
Informe d'origen d'una destinació de confiançaL'origen públic observat allà

Dins d'una callback, ometeu les parts de l'URL amb credencials dels diagnòstics rutinaris:

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,
)

Al gestor HTTP/1.1 de Scrapy 2.13.3 l'adreça prové del parell de la connexió de la resposta, no d'un servei d'IP de sortida. Alguns camins, com les respostes de longitud zero, poden deixar-la a None. Altres gestors la poden omplir de manera diferent. None per si sol no demostra encaminament directe.

Per a una comprovació de sortida, consulteu un punt final de confiança sota la política de proxy prevista i conserveu la identitat de la sol·licitud amb l'observació. Un middleware rotatiu pot donar una altra adreça a una comprovació posterior.

Les redireccions també creen una altra sol·licitud. Les metadades finals descriuen aquesta etapa; reviseu l'historial de redireccions i qualsevol reselecció del middleware en lloc de tractar-lo com a prova de la ruta del primer URL.

Articles relacionats