0%

python_协程的基础用法

python_协程的基础用法:

import aiohttp   # pip3 install aiohttp   # 支持异步模式的网络请求模块
import asyncio
import time

async def fetch(session, url):
a_ = time.time()
print(f"发送请求: {a_} {url}")
async with session.get(url, verify_ssl=False) as response:
content = await response.content.read()
file_name = url.rsplit('_')[-1]
with open(f"/home/x1/图片/{file_name}", 'wb') as file_obj:
file_obj.write(content)
print(f"下载完成了: {int(time.time() - a_)} {url}")

async def main():
async with aiohttp.ClientSession() as session:
url_list = [
'https://xxx1.jpg',
'https://xxx2.jpg',
'https://xxx3.jpg']
tasks = [asyncio.create_task(fetch(session, url)) for url in url_list]
await asyncio.wait(tasks)

if __name__ == '__main__':
asyncio.run(main())