import asyncio
import aiohttp
async def fetch_all(urls):
async with aiohttp.ClientSession() as session:
crts = (fetch(url, session) for url in urls)
await asyncio.gather(*crts)
async def fetch(url, session):
async with session.get(url) as resp:
html = await resp.text()
print(len(html))
urls = ('http://www.naver.com' for _ in range(100))
loop = asyncio.get_event_loop()
loop.run_until_complete(fetch_all(urls))
시험해보니 그냥 순차적 다운로드와는 비교도 할 수 없는 속도가 ㄷㄷ
근데 이거 그냥 막날리다보면 블락먹을수도 있음 - 164260의 휘발성 계정
겁나서 여러번 못 실행시키겠더라고요 ㅋㅋ 네이버에서 블락 먹으면 큰 일 ㅋㅋㅋㅋ
연산 별로 없이 IO에 몰빵하는 작업이니 비동기 IO 모델의 장점이 가장 극대화되는 케이스 ㅋㅋ
1초씩 슬립넣고 쏴 ㅇㅇ 그리고 내일 아침에 확인하면 됨