Ẹ̀rọ ìwádìí ní àwọn ìbéèrè àkókò kan tí ó tó. Síbẹ̀ ó máa ń dúró ní gbogbo ìgbà tí ó bá béèrè àdírẹ́sì mìíràn lọ́wọ́ proxy pool. Fífi proxy púpọ̀ kún kò yí ìdúró yẹn padà.

Àpẹẹrẹ middleware tí ó wọ́pọ̀ máa ń pe requests.get(pool_url) nínú process_request(). Ìṣe nẹ́tíwọ́ọ̀kì synchronous ni èyí ní ọ̀nà tí ó yẹ kí ó bá ẹ̀rọ asynchronous Scrapy ṣiṣẹ́ pọ̀. Nígbà tí ìpè ń dúró, ó lè dá iṣẹ́ tí kò ní í ṣe dúró ní orí okùn ìṣẹ̀lẹ̀ kan náà.

Àwọn ìbéèrè méjì wà nínú iṣẹ́ náà

Ìbéèrè kan gba endpoint láti ọ̀dọ̀ iṣẹ́ pool. Èkejì máa ń lo endpoint yẹn láti bá ibi tí ó ń lọ sọ̀rọ̀. Wọ́n wọ̀n kí o sì jábọ̀ wọn lọ́tọ̀. API pool tí ó lọra lè mú kí gbogbo proxy tí a yàn dàbí ẹni tí ó lọra kí àpòpọ̀ tilẹ̀ tó so mọ́ ọn.

Lo ìsopọ̀ ìwádìí asynchronous tí ẹ̀yà Scrapy tí a fi sórí ẹ̀rọ ṣe àtìlẹ́yìn fún, tàbí gba àti sọ̀tun ètò endpoint àdúgbò tí ó ní ààlà ní òde ọ̀nà pàtàkì ìbéèrè kọ̀ọ̀kan. Bí iṣẹ́ dídínà bá ní láti kó lọ, fún olùṣe yẹn ní ààlà tirẹ̀ àti ìtọ́jú àkókò ìparí; ìlà tí kò ní ààlà kàn ń gbé ìdádúró lọ síbòmíì.

Má ṣe ṣe ìpè ìwádìí mìíràn ní àìdábọ̀ fún gbogbo ìbéèrè. Cache àkókò kúkúrú tàbí ẹ̀yà tí a yá lè dín ìgbẹ́kẹ̀lé iṣẹ́ pool kù, níwọ̀n bí àkókò ìgbésí ayé rẹ̀ bá bá ìlànà endpoint gidi iṣẹ́ náà mu.

Ṣàlàyé ohun tí ìwádìí tí ó kùnà túmọ̀ sí

Ìdáhùn pool tí ó ṣófo tàbí tí ó kùnà kò gbọdọ̀ yọ metadata proxy kúrò ní ìdákẹ́jẹ́ kí ó sì gba ìbéèrè tààrà láàyè. Yan àbájáde tí ó ṣe kedere: dúró nínú ìsúnná owó iṣẹ́, kùnà, tàbí lo endpoint tí a fọwọ́ sí nínú cache.

Tún pa ọ̀nà API pool fúnra rẹ̀ mọ́. Bí ó bá jẹ́ iṣẹ́ inú, fífi orúkọ akọ̀wé rẹ̀ tí ó jẹ́ àṣírí ránṣẹ́ nípasẹ̀ proxy kan náà tí ó ń ràn ọ́ lọ́wọ́ láti yàn án lè dá ìgbẹ́kẹ̀lé àyíká.

Nígbà tí ìwádìí bá ṣiṣẹ́ láì dínà iṣẹ́ tí kò ní í ṣe, ṣàyẹ̀wò ìdúnàdúrà proxy déédéé. Ìyẹn jẹ́ àtúnṣe ọ̀tọ̀ọ̀tọ̀, àkókò wọn sì yẹ fún àwọn pápá ọ̀tọ̀ọ̀tọ̀ nínú log.

Àwọn àpilẹ̀kọ tó jọra