Scrapy proxy middleware: iye ìpadà Request àti None
Dá ìṣàkóso padà lẹ́yìn pínpín Scrapy proxy dípò kíkó ìbéèrè kan náà lẹ́sẹ̀ kejì láìròtẹ́lẹ̀ kí ó tó gbà á.
Àdírẹ́sì proxy yí padà nínú àkọsílẹ̀. Ibùdó kò fi hàn nínú àkọsílẹ̀ ìwọlé proxy rárá. Ṣàyẹ̀wò bóyá middleware rẹ ń jẹ́ kí ìbéèrè dé ọ̀dọ̀ ẹ̀rọ ìgbàlódé.
Nínú middleware ẹ̀rọ ìgbàlódé Scrapy, pípèsè Request padà túmọ̀ sí kíkó ìbéèrè yẹn lẹ́sẹ̀ kejì. Kò túmọ̀ sí «tẹ̀síwájú láti fi nǹkan yìí ránṣẹ́ pẹ̀lú metadata tí mo ṣẹ̀ṣẹ̀ yí padà».
Fún olùyàn tí ń yan ọ̀nà kan ṣoṣo, ìrísí pàtàkì ni:
def process_request(self, request):
request.meta['proxy'] = self.choose_proxy()
return None
Ẹ̀ka yìí fi ìrísí hook lọ́wọ́lọ́wọ́ hàn; lo interface middleware tí ẹ̀yà Scrapy tí a fi sórí ẹ̀rọ ń ṣètìlẹ́yìn fún. Olùyàn gbọ́dọ̀ dá ìparí ọ̀nà tó tọ́ padà kí ó sì bójú tó àdúgbò tí kò sí ní àfihàn. Ìwádìí gbangba tí ó gba àwọn alárinà gbangba láàyè lè gba àwọn olùdíje HTTP láti àkọ́jọ́ proxy HTTP fún iye ìpadà yẹn.
Pípèsè None padà ń jẹ́ kí ìyókù middleware ìbéèrè àti ẹ̀rọ ìgbàlódé tẹ̀síwájú. Pípèsè Request mìíràn padà wúlò nígbà tí o bá ń rọ́pò tàbí gbìyànjú iṣẹ́ lẹ́ẹ̀kan sí i pẹ̀lú ìmọ̀, ṣùgbọ́n ó nílò ìdí àti ipò ìjáde.
Olùyípo tí ń dá ìbéèrè kan náà padà ní gbogbo ìgbà lè máa ṣiṣẹ́ kóòdù ìyàn rẹ̀ lẹ́ẹ̀kan sí i láìdá ìsopọ̀ mọ́ ibùdó rárá. Gbígbé àwọn àkókò ìdúró sókè tàbí ṣíṣí àwọn ebute proxy síi kò lè tún ìyí ìṣàn ìṣàkóso yẹn ṣe.
Wo ìwọlé middleware, ìhùwàsí ìpadà àti ìgbìyànjú nẹ́tíwọ́kì àkọ́kọ́ gidi gẹ́gẹ́ bí ìṣẹ̀lẹ̀ ọ̀tọ̀ọ̀tọ̀. Ìlà àkọsílẹ̀ tí ó sọ «a ti yan proxy» ń fi kìkì pé olùyàn ṣiṣẹ́ hàn. Kò fi hàn pé a ti fi ìparí ọ̀nà tí a yàn rán ìbéèrè kan.