网络编程
位置:首页>> 网络编程>> Python编程>> Python requests及aiohttp速度对比代码实例

Python requests及aiohttp速度对比代码实例

作者:陈严肃  发布时间:2023-11-22 14:40:37 

标签:Python,requests,aiohttp

环境:centos7 python3.6

测试网址:www.bai.com

测试方式:抓取百度100次

结果:

aio: 10.702147483825684s
requests: 12.404678583145142s

异步框架的速度还是有显著提升的。

下面贡献代码:


import aiohttp
import time
import requests
import asyncio

def test_requests():
 """ 测试requessts请求百度100次时间 """

start = time.time()
 url = "https://www.baidu.com"
 for i in range(100):
   requests.get(url)
 end = time.time()
 print("requests:")
 print( end - start )

async def aio_download(url):
 """ aiohttp 下载 """

async with aiohttp.ClientSession() as session:
   await session.get(url)

async def test_aio():
 """ 测试aiohtpp请求百度100次时间 """
 url = "https://www.baidu.com"
 start = time.time()
 for i in range(100):
   await aio_download(url)
 end = time.time()
 print("aio: ")
 print( end - start )

if __name__ == "__main__":

loop = asyncio.get_event_loop()
 loop.run_until_complete(test_aio())

test_requests()

————————————————————————————————————————

-—————————————————————————————————————————

小贴士:

requests不要使用session进行反复抓取一个网站的测试,因为从第2次开始,读取的就是缓存了,无论抓取50次还是100次或是更多,总时间都是1s以内。

来源:https://www.cnblogs.com/chenyansu/p/9419296.html

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com