self_example/Spider/Chapter06_异步爬虫/asyncio/MultiTaskAsync.py

27 lines
556 B
Python

#-*- encoding:utf-8 -*-
'''
@Author : dingjiawen
@Date : 2023/12/6 16:34
@Usage : 多任务协程
@Desc :
@参考: https://github.dev/Python3WebSpider/AsyncTest
'''
import asyncio
import requests
async def request():
url = 'https://www.baidu.com'
status = requests.get(url)
return status
tasks = [asyncio.ensure_future(request()) for _ in range(5)]
print('Tasks:', tasks)
loop = asyncio.get_event_loop()
# 五个任务被顺序执行
loop.run_until_complete(asyncio.wait(tasks))
for task in tasks:
print('Task Result:', task.result())