import aiohttp
import asyncio
concurrency = asyncio.Semaphore(500) # 最大并发量
async def get_baidu(session,url):
async with session.get(url) as res:
return res.status,await res.text()
async def main():
url = 'http://www.51pyblog.com'
timeout = aiohttp.ClientTimeout(total=10) # 超时时间
async with concurrency:
async with aiohttp.ClientSession(timeout=timeout) as session:
status,text = await get_baidu(session,url)
print(status)
if __name__ == '__main__':
task = [asyncio.ensure_future(main()) for _ in range(2000)]
loop = asyncio.get_event_loop().run_until_complete(asyncio.wait(task))
版权归属:
海绵
许可协议:
本文使用《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议授权
评论区