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新手经常遇到的17个错误分析
Jul 30 Python
Python中optparse模块使用浅析
Jan 01 Python
详解Python发送邮件实例
Jan 10 Python
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
May 03 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
Jan 24 Python
Python图像处理之识别图像中的文字(实例讲解)
May 10 Python
python3读取excel文件只提取某些行某些列的值方法
Jul 10 Python
python 产生token及token验证的方法
Dec 26 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
Jun 17 Python
python实现银行管理系统
Oct 25 Python
Python timer定时器两种常用方法解析
Jan 20 Python
Python变量作用域LEGB用法解析
Feb 04 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实现CSV文件导入和导出
2015/10/24 PHP
PHP的全局错误处理详解
2016/04/25 PHP
php封装的验证码工具类完整实例
2016/10/19 PHP
PHP学习笔记之session
2018/05/06 PHP
实例讲解PHP表单
2020/06/10 PHP
javascript中的缓动效果实现程序
2012/12/29 Javascript
JavaScript中的单引号和双引号报错的解决方法
2014/09/01 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
ionic2 tabs使用 Modal底部tab弹出框
2016/12/30 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
Bootstrap模态框插入视频的实现代码
2017/06/25 Javascript
如何编写一个完整的Angular4 FormText 组件
2017/11/18 Javascript
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
nodejs express配置自签名https服务器的方法
2018/05/22 NodeJs
详解React之父子组件传递和其它一些要点
2018/06/25 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
Vue插件从封装到发布的完整步骤记录
2019/02/28 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
python实现猜数字游戏(无重复数字)示例分享
2014/03/29 Python
python实现unicode转中文及转换默认编码的方法
2017/04/29 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
2019/02/11 Python
Django 请求Request的具体使用方法
2019/11/11 Python
利用python控制Autocad:pyautocad方式
2020/06/01 Python
Python web框架(django,flask)实现mysql数据库读写分离的示例
2020/11/18 Python
大学应届生求职简历的自我评价
2013/10/08 职场文书
企业厂长岗位职责
2013/12/17 职场文书
大学应届生的自我评价
2014/03/06 职场文书
《秋游》教学反思
2014/04/24 职场文书
学术研讨会欢迎词
2015/01/26 职场文书
实习协议书
2015/01/27 职场文书
2015年世界粮食日演讲稿
2015/03/20 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书
如何用JavaScript实现一个数组惰性求值库
2021/05/05 Javascript
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python
如何通过cmd 连接阿里云服务器
2022/04/18 Servers