aiohttp , aiofiles 安装
网址
图片链接
# 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())