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


Posted in Python onJuly 16, 2020

环境: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以内。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
学习python处理python编码问题
Mar 13 Python
Python的高级Git库 Gittle
Sep 22 Python
解读Python中degrees()方法的使用
May 18 Python
Python中的getopt函数使用详解
Jul 28 Python
Python使用matplotlib绘制随机漫步图
Aug 27 Python
解决python 无法加载downsample模型的问题
Oct 25 Python
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
Mar 05 Python
python 返回一个列表中第二大的数方法
Jul 09 Python
python飞机大战pygame游戏背景设计详解
Dec 17 Python
opencv+python实现均值滤波
Feb 19 Python
树莓派4B安装Tensorflow的方法步骤
Jul 16 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
Nov 29 Python
Python3 搭建Qt5 环境的方法示例
Jul 16 #Python
python3实现将json对象存入Redis以及数据的导入导出
Jul 16 #Python
Python必须了解的35个关键词
Jul 16 #Python
Python子进程subpocess原理及用法解析
Jul 16 #Python
python redis存入字典序列化存储教程
Jul 16 #Python
Python是怎样处理json模块的
Jul 16 #Python
Python2手动安装更新pip过程实例解析
Jul 16 #Python
You might like
如何使用PHP获取网络上文件
2006/10/09 PHP
使用PHP实现蜘蛛访问日志统计
2013/07/05 PHP
php 判断网页是否是utf8编码的方法
2014/06/06 PHP
laravel框架数据库配置及操作数据库示例
2019/10/10 PHP
Discuz! 6.1_jQuery兼容问题
2008/09/23 Javascript
IE下js调试工具Companion.JS
2010/10/15 Javascript
jquery二级导航内容均分的原理及实现
2013/08/13 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
js实现飞入星星特效代码
2014/10/17 Javascript
jQuery实现鼠标划过展示大图的方法
2015/03/09 Javascript
JS实现3D图片旋转展示效果代码
2015/09/22 Javascript
基于javascript简单实现对身份证校验
2021/01/25 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
2017/10/19 Javascript
vue小白入门教程
2018/04/02 Javascript
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
微信小程序scroll-view横向滑动嵌套for循环的示例代码
2018/09/20 Javascript
js尾调用优化的实现
2019/05/23 Javascript
ES6基础之字符串和函数的拓展详解
2019/08/22 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
django通过ajax发起请求返回JSON格式数据的方法
2015/06/04 Python
python字符串的常用操作方法小结
2016/05/21 Python
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
Python实现钉钉发送报警消息的方法
2019/02/20 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
python输出带颜色字体实例方法
2019/09/01 Python
Python字典底层实现原理详解
2019/12/18 Python
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
2016/01/20 HTML / CSS
HTML5本地存储之Web Storage详解
2016/07/04 HTML / CSS
梵蒂冈和罗马卡:Omnia Card Pass
2018/02/10 全球购物
工程招投标邀请书
2014/01/30 职场文书
优秀学生事迹材料
2014/02/08 职场文书
奥利奥广告词
2014/03/20 职场文书
党校毕业心得体会
2014/09/13 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书