Kíka endpoint proxy àti IP ìsopọ̀ Scrapy
Lo metadata ìbéèrè fún proxy tí a yàn, ka response.ip_address gẹ́gẹ́ bí ìsọfúnni ẹlẹ́gbẹ́ tí handler pèsè, kí o sì jẹ́rìí IP ìjáde ní ibi àfojúsùn.
Láti ṣàyẹ̀wò ọ̀nà tí a yàn, lo Request tí ó so mọ́ ìdáhùn tí ó ti parí. Pa àwọn àkíyèsí mẹ́ta mọ́ ọ̀tọ̀ọ̀tọ̀:
| Pápá | Ìtumọ̀ |
|---|---|
response.request.meta.get('proxy') | URL proxy tí a yàn fún ìbéèrè yìí, bí ó bá wà |
response.ip_address | Àdírẹ́sì tí handler gbígbàjá pèsè, ó lè jẹ́ None |
| Ìròyìn orísun láti ibi àfojúsùn tí ó ṣeé gbẹ́kẹ̀lé | Orísun gbogbogbò tí a ṣàkíyèsí níbẹ̀ |
Nínú callback, yọ àwọn apá URL tí ó ní ẹ̀rí ìdánimọ̀ kúrò nínú àyẹ̀wò déédéé:
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,
)Nínú handler HTTP/1.1 ti Scrapy 2.13.3, àdírẹ́sì wá láti ọ̀dọ̀ ẹlẹ́gbẹ́ ìsopọ̀ ìdáhùn, kì í ṣe láti iṣẹ́ IP ìjáde. Àwọn ọ̀nà kan, pẹ̀lú àwọn ìdáhùn gígùn-òdo, lè fi í sílẹ̀ gẹ́gẹ́ bí None. Àwọn handler mìíràn lè kún un ní ọ̀nà mìíràn. None fúnra rẹ̀ kò fi ẹ̀rí hàn pé ìtọ́sọ́nà tààrà ni.
Fún àyẹ̀wò ìjáde, bèèrè endpoint tí ó ṣeé gbẹ́kẹ̀lé lábẹ́ ìlànà proxy tí a ní lọ́kàn kí o sì pa ìdánimọ̀ ìbéèrè mọ́ pẹ̀lú àkíyèsí. Middleware tí ń yí lè fún àyẹ̀wò tó ń bọ̀ ní endpoint mìíràn.
Àwọn ìtúnjáde tún dá ìbéèrè mìíràn. Metadata ìkẹyìn ṣàpèjúwe ìpele yẹn; ṣàyẹ̀wò ìtàn ìtúnjáde àti èyíkéyìí àtúnyàn láti ọ̀dọ̀ middleware dípò kí o kà á sí ẹ̀rí fún ọ̀nà URL àkọ́kọ́.