1 import asyncio
2 import aiohttp
3
4 urls = [
5 "http://kr.shanghai-jiuxin.com/file/mm/20211130/jfehprjyjmy.jpg",
6 "http://kr.shanghai-jiuxin.com/file/mm/20211130/dk1ys3i2ax3.jpg",
7 "http://kr.shanghai-jiuxin.com/file/mm/20211130/veazcucqj3y.jpg",
8 "http://kr.shanghai-jiuxin.com/file/mm/20211130/skajtydcoyj.jpg"
9 ]
10
11
12 async def aiodownload(url):
13 name = url.split("/")[-1]
14 async with aiohttp.ClientSession() as session: # requests
15 async with session.get(url) as resp: # resp = requests.get()
16 # 请求回来,写入文件
17 with open(f"20220626/{name}", mode='wb') as f:
18 f.write(await resp.content.read())
19
20 print("下载完毕!!!")
21
22
23 async def main():
24 tasks = []
25 for url in urls:
26 tasks.append(asyncio.create_task(aiodownload(url)))
27 await asyncio.wait(tasks)
28
29
30 if __name__ == '__main__':
31 loop = asyncio.new_event_loop()
32 asyncio.set_event_loop(loop)
33 loop.run_until_complete(main())