python当初设计的时候应该就没考虑过异步,在处理异步上的事情能用其他语言尽量用其他的。python虽然也能异步但是太难受了。你用的模块如果不支持异步,那你就GG了。
下面贴例子,例子为一次发起几百或者几千get请求。
import asyncio
import aiohttp
# 定义一个异步函数来发送GET请求
async def fetch(session, url):
async with session.get(url) as response:
result = await response.text()
#这里是异步回调结果
#结果处理放这里
# 定义一个异步函数来并发地发送所有请求
async def fetch_all(urls):
async with aiohttp.ClientSession() as session:
# 创建一个任务列表,每个任务都是一个fetch调用
tasks = [fetch(session, url) for url in urls]
# 并发地执行所有任务,并在所有任务完成后返回结果
return await asyncio.gather(*tasks)
def lizi():#例子这里放入你自己的业务逻辑里
urls = [] # 你想请求的URL
urls.append(url)#url就是你想请求的URL加入请求列表
# 使用asyncio.run来运行异步函数fetch_all
results = asyncio.run(fetch_all(urls))
# 打印所有请求的结果
for result in results:
print(result)
lizi()