Тандалган маршрутту карап чыгууда бүткөн жоопко тиркелген Requestти колдонуңуз. Үч байкоону өз-өзүнчө кармаңыз:

ТалааМааниси
response.request.meta.get('proxy')Бул сурамдын тандалган прокси URLи, бар болсо
response.ip_addressЖүктөө иштетүүчүсү берген дарек, None болушу мүмкүн
Ишенимдүү максаттан келген булак отчётуОшол жерде байкалган ачык булак

Callback ичинде эсептик маалыматы бар 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 өзү түз маршруттоону далилдебейт.

Чыгууну текшерүү үчүн көздөлгөн прокси саясатынын алкагында ишенимдүү акыркы чекиттен сураңыз жана сурамдын идентификаторун байкоо менен бирге сактаңыз. Айланма middleware кийинки текшерүүгө башка чекит бере алат.

Кайра багыттоолор дагы бир сурам жаратат. Акыркы метаберилиштер ошол этапты сүрөттөйт; биринчи URLдин маршрутунун далили деп эсептөөнүн ордуна кайра багыттоо тарыхын жана middlewareдин кайсы болбосун кайра тандоосун карап чыгыңыз.

Тектеш макалалар