Scrapy проксинин акыркы чекитин жана туташуу IPсин окуу
Тандалган прокси үчүн сурам метаберилиштерин колдонуңуз, response.ip_addressди иштетүүчү берген өнөктөш маалыматы катары караңыз жана максатта чыгуу IPсин текшериңиз.
Тандалган маршрутту карап чыгууда бүткөн жоопко тиркелген 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дин кайсы болбосун кайра тандоосун карап чыгыңыз.