# aiohttp , aiofiles import asyncio import aiohttp import aiofiles """ 复制图片地址 'https://img2.baidu.com/it/u=1395158804,2693158229&fm=253&fmt=auto&app=138&f=JPEG?w=775&h=500', 'https://img0.baidu.com/it/u=1667622076,2227534038&fm=253&fmt=auto&app=138&f=JPEG?w=703&h=500', 'https://img0.baidu.com/it/u=350325469,2139949192&fm=253&fmt=auto&app=138&f=JPEG?w=400&h=591', 'https://img2.baidu.com/it/u=1028008341,3813970040&fm=253&fmt=auto&app=138&f=JPEG?w=738&h=500', """ async def download(url): print("开始下载",url) # file_name = url.split("/")[-1] # 相当于requests async with aiohttp.ClientSession() as session: # 发送网络请求 async with session.get(url) as resp: # await resp.text() # => resp.text content = await resp.content.read() # =>resp.content # await resp.json() # 写入文件 # f = open("top250.csv",mode='w',encoding='utf-8') async with aiofiles.open("123.csv",mode='wb',encoding='utf-8') as f: await f.write(content) print("下载完成",url) async def main(): url_list=[ 'https://img2.baidu.com/it/u=1395158804,2693158229&fm=253&fmt=auto&app=138&f=JPEG?w=775&h=500', 'https://img0.baidu.com/it/u=1667622076,2227534038&fm=253&fmt=auto&app=138&f=JPEG?w=703&h=500', 'https://img0.baidu.com/it/u=350325469,2139949192&fm=253&fmt=auto&app=138&f=JPEG?w=400&h=591', 'https://img2.baidu.com/it/u=1028008341,3813970040&fm=253&fmt=auto&app=138&f=JPEG?w=738&h=500', ] tasks = [] for url in url_list: t = asyncio.create_task(download(url)) tasks.append(t) await asyncio.wait(tasks) if __name__ == '__main__': asyncio.run(main())