python快速请求链接之异步

首先导入必须要的包

import asyncio  #异步io

import httpx  #配合异步请求,就是request包加上异步功能

 

初始化对象

client = httpx.AsyncClient()

loop = asyncio.get_event_loop()

task_list = [] #这个是task的列表,其中包含了需要请求的链接,需要看自己需求构建

 

 

接下来就是重头戏,如何能够快速请求这些链接

首先是需要一个异步函数

async def async_main(url): 

   response = await client.get(url) 

   status_code = response.status_code

   print(url, ':', status_code)

这个函数的功能是请求链接,打印链接和对应的状态

然后就是如何调用这个异步函数

tasks = [async_main(task=task) for task in task_list] loop.run_until_complete(asyncio.wait(tasks))

将task传入函数中,记住需要这样使用,才可以保证速度足够快

 

以上就是python如何使用异步的方式请求链接,经过实测,速度非常快,是单纯循环请求的数十倍,比使用多线程请求也要快很多。

 

网友评论

0条评论

发表

网友评论

0条评论

发表

最新评论

推荐文章

彩龙

Copyright © 2008-2021 彩龙社区 版权所有 All Rights Reserved.

免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。

经营许可证编号:滇B2-20090009-7

下载我家昆明APP 下载彩龙社区APP