Fun gbogbo aiohttp proxy ni iwọn iṣẹ́ àkókò kan náà tirẹ̀
Dín iṣẹ́ tí ń lọ lórí proxy kọ̀ọ̀kan tí a yàn kù, ní mímú àwọn ààlà adágún ìsopọ̀ aiohttp àti ìmọ́tótó ìdáhùn dúró.
Adágún proxy lè ní àwọn ibi ìparí pẹ̀lú agbára tí ó yàtọ̀ gidigidi. Gbígbàláàyè fún àádọ́ta iṣẹ́ nínú ètò náà kò dá mọ́kàndínláàádọ́ta nínú wọn lékè láti yan proxy kan náà.
Bí ìlànà bá jẹ́ “kò ju iṣẹ́ mẹ́rin tí ń lọ lọ́nà gbogbo proxy tí a yàn”, sọ ìlànà yẹn ní tààrà. Tọ́jú semaphore fún ìdánimọ̀ proxy kọ̀ọ̀kan, kí o sì gbà á yí iṣẹ́ tí ń lo agbára proxy náà ká.
limits = {proxy: asyncio.Semaphore(4) for proxy in proxy_urls}
async def fetch(session, proxy, url):
async with limits[proxy]:
async with session.get(url, proxy=proxy) as response:
return await response.read()Àwòrán yìí gbà pé wọ́n ti gbé asyncio wọlé, wọ́n sì ti fọwọ́ sí àwọn URL proxy. Fún àwọn ìbéèrè gbangba lórí ipa ọ̀nà proxy gbangba tí a gbà láàyè, àkójọ proxy HTTP ń pèsè àwọn olùdíje fún àwọn URL proxy aiohttp. Ètò gidi gbọ́dọ̀ tún ṣètò àkókò ìparí ìbéèrè tirẹ̀, kí ó sì pinnu iye dátà ìdáhùn tí ó nílò. Kíkà fáìlì ńlá kan pátápátá sínú ìrántí jẹ́ ìpinnu ohun àmúlò ọ̀tọ̀.
Tọ́jú àṣẹ fún apá tí ó wọ́n
Jíjá semaphore lẹ́sẹ̀kẹsẹ̀ tí àwọn àkọlé ìdáhùn bá dé lè ba ààlà tí a fẹ́ jẹ́. Ara tí ń ṣàn lè máa lo ìsopọ̀ náà fún àkókò pípẹ́ lẹ́yìn náà. Tọ́jú àṣẹ náà títí ara yóò fi jẹ́ lóòrèkóòrè tàbí ìdáhùn yóò fi ti pa dé ní ìbámu pẹ̀lú ìlànà iṣẹ́ ètò náà.
Àwọn olùṣàkóso àyíká tí wọ́n kó sínú ara wọn máa ń jẹ́ kí ìmọ́tótó hàn nígbà tí ìyọkùrò tàbí ìfagilé bá fi iṣẹ́ náà sílẹ̀. Yẹra fún gbígbà pẹ̀lú ọwọ́ àti jíjá nìkan ní ìsàlẹ̀ iṣẹ́ tí ó ṣaṣeyọrí.
Àwọn ààlà ìsopọ̀ ń dáhùn ìbéèrè mìíràn
Àwọn ààlà olùsopọ̀ aiohttp ń dín àwọn ìsopọ̀ kù ní ìbámu pẹ̀lú àwọn òfin tí a kọ sílẹ̀ fún olùsopọ̀ náà. Wọ́n ṣì wúlò lẹ́gbẹ̀ẹ́ semaphore ètò náà. Ààlà ìsopọ̀ fún ìdí kọ̀ọ̀kan kò fi orúkọ rẹ̀ nìkan hàn iwọn tí gbogbo àwọn ìdí tí a yàn fún proxy kan ń pín.
Tún yà ìṣeṣe àkókò kan náà sọ́tọ̀ kúrò nínú ìwọ̀n ìbéèrè. Àwọn ìbéèrè mẹ́rin tí ó pẹ́ àti àwọn ìbéèrè mẹ́rin tí ó kúrú gan ń lo ìpín ìṣeṣe àkókò kan náà bí wọ́n ṣe ń mú ìwọ̀n ìbéèrè-fún-ìṣẹ́jú àáyá tí ó yàtọ̀ jáde. Iṣẹ́ tí ó ní ìlànà ìwọ̀n lè nílò ìṣàkóso ìgbésẹ̀ tàbí olùdín ìwọ̀n ọ̀tọ̀.
Yan ìdánimọ̀ proxy tí ó dúró ṣinṣin, tí kì í ṣe àṣírí fún àwọn àkọsílẹ̀ àti àwọn ìwọ̀n. Bí àwọn URL méjì tí ó ní ẹ̀rí bá tọ́ka sí adágún agbára kan náà, pinnu bóyá wọ́n gbọ́dọ̀ pín ìwọn kan. Ní ìdàkejì, àwọn ebute tàbí àkọsílẹ̀ oríṣiríṣi lè dúró fún àwọn ààlà ọ̀tọ̀ nígbà tí olùṣàkóso bá kọ wọ́n sílẹ̀ bẹ́ẹ̀.
Nígbà tí ìṣàn iṣẹ́ bá dín kù, ṣàyẹ̀wò ibi tí iṣẹ́ ń dúró: semaphore rẹ, olùsopọ̀, ìṣètò ìsopọ̀ proxy, tàbí kíkà àwọn ìdáhùn. Gbígbé gbogbo ààlà sókè ní ẹ̀ẹ̀kan máa ń jẹ́ kí ìyàtọ̀ yẹn ṣòro, ó sì lè gbé ìlà náà lọ sínú proxy tí ìwọ kò ṣàkóso.