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 实现随机数详解及实例代码
Apr 15 Python
python3中获取文件当前绝对路径的两种方法
Apr 26 Python
Python后台管理员管理前台会员信息的讲解
Jan 28 Python
Django REST Framework之频率限制的使用
Sep 29 Python
python的range和linspace使用详解
Nov 27 Python
Python数据存储之 h5py详解
Dec 26 Python
Python实现Keras搭建神经网络训练分类模型教程
Jun 12 Python
Python变量格式化输出实现原理解析
Aug 06 Python
python爬虫---requests库的用法详解
Sep 28 Python
Python实现定时监测网站运行状态的示例代码
Sep 30 Python
利用python进行文件操作
Dec 04 Python
conda安装tensorflow和conda常用命令小结
Feb 20 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
用PHP函数解决SQL injection
2006/12/09 PHP
php url地址栏传中文乱码解决方法集合
2010/06/25 PHP
php单例模式实现方法分析
2015/03/14 PHP
php递归删除指定文件夹的方法小结
2015/04/20 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
把JS与CSS写在同一个文件里的书写方法
2007/06/02 Javascript
jQuery DOM操作小结与实例
2010/01/07 Javascript
指定位置如果有图片显示图片,无图片显示广告的JS
2010/06/05 Javascript
MooBox 基于Mootools的对话框插件
2012/01/20 Javascript
node.js中的fs.link方法使用说明
2014/12/15 Javascript
jQuery中复合属性选择器用法实例
2014/12/31 Javascript
javascript的tab切换原理与效果实现方法
2015/01/10 Javascript
一篇文章掌握RequireJS常用知识
2016/01/26 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
2016/08/16 Javascript
浅谈原生JS中的延迟脚本和异步脚本
2017/07/12 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
2018/03/09 Javascript
js实现GIF动图分解成多帧图片上传
2019/10/24 Javascript
node.js通过url读取文件
2020/10/16 Javascript
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
Python实现各种排序算法的代码示例总结
2015/12/11 Python
python 接口返回的json字符串实例
2018/03/27 Python
Pandas标记删除重复记录的方法
2018/04/08 Python
如何用Python实现简单的Markdown转换器
2018/07/16 Python
python中的decimal类型转换实例详解
2019/06/26 Python
html5贪吃蛇游戏使用63行代码完美实现
2013/06/25 HTML / CSS
使用HTML5技术开发一个属于自己的超酷颜色选择器
2013/09/22 HTML / CSS
法国票务网站:Ticketmaster法国
2018/07/09 全球购物
会计师事务所审计实习自我鉴定
2013/09/20 职场文书
教师校本培训方案
2014/02/26 职场文书
励志演讲稿300字
2014/08/21 职场文书
消防志愿者活动方案
2014/08/23 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书
Mysql MVCC机制原理详解
2021/04/20 MySQL
Python用any()函数检查字符串中的字母以及如何使用all()函数
2022/04/14 Python