Legi la prokuran finpunkton kaj koneksan IP de Scrapy
Uzu la petan metadatenon por la elektita prokurilo, traktu response.ip_address kiel de la traktilo liveritan samtavolan informon, kaj kontrolu la eliran IP ĉe la celo.
Uzu la Request ligitan al la finita respondo kiam vi ekzamenas ĝian elektitan vojon. Tenu tri observojn apartaj:
| Kampo | Signifo |
|---|---|
response.request.meta.get('proxy') | La elektita prokura URL de ĉi tiu peto, se ĝi ekzistas |
response.ip_address | Adreso liverita de la elŝuta traktilo, eble None |
| Fonta raporto de fidata celo | La publika fonto observita tie |
Ene de callback, forlasu URL-partojn enhavantajn legitimilojn el rutina diagnozo:
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,
)En la HTTP/1.1-traktilo de Scrapy 2.13.3 la adreso venas de la koneksa samtavolo de la respondo, ne de elira-IP-servo. Iuj vojoj, inkluzive respondojn de nula longo, povas lasi ĝin None. Aliaj traktiloj povas plenigi ĝin alimaniere. None per si mem ne pruvas rektan vojigon.
Por elira kontrolo, demandu fidata finpunkton laŭ la celata prokura politiko kaj konservu la petan identecon kun la observo. Rotacia middleware povas doni al posta kontrolo alian finpunkton.
Ankaŭ plusendoj kreas alian peton. La finaj metadatenoj priskribas tiun etapon; ekzamenu la plusendan historion kaj ajnan novan elekton de middleware anstataŭ trakti ĝin kiel pruvon de la vojo de la unua URL.