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实现ip查询示例
Mar 26 Python
python实现绘制树枝简单示例
Jul 24 Python
详解Django中Request对象的相关用法
Jul 17 Python
Python简单格式化时间的方法【strftime函数】
Sep 18 Python
Python ldap实现登录实例代码
Sep 30 Python
解决python2.7 查询mysql时出现中文乱码
Oct 09 Python
Python跑循环时内存泄露的解决方法
Jan 13 Python
Python3实现mysql连接和数据框的形成(实例代码)
Jan 17 Python
python实现在一个画布上画多个子图
Jan 19 Python
Django 解决由save方法引发的错误
May 21 Python
python爬取企查查企业信息之selenium自动模拟登录企查查
Apr 08 Python
 python中的元类metaclass详情
May 30 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
为了这两部电子管收音机,买了6套全新电子管和10粒刻度盘灯泡
2021/03/02 无线电
php下连接mssql2005的代码
2011/01/17 PHP
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
基于MySQL到MongoDB简易对照表的详解
2013/06/03 PHP
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
2015/08/25 Javascript
js闭包用法实例详解
2016/12/13 Javascript
React props和state属性的具体使用方法
2018/04/12 Javascript
Vue组件创建和传值的方法
2018/08/17 Javascript
ES6小技巧之代替lodash
2019/06/07 Javascript
JS自定义滚动条效果
2020/03/13 Javascript
详解Django框架中用context来解析模板的方法
2015/07/20 Python
python获取代理IP的实例分享
2018/05/07 Python
python_opencv用线段画封闭矩形的实例
2018/12/05 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
使用TensorFlow搭建一个全连接神经网络教程
2020/02/06 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
浅谈Python中的字符串
2020/06/10 Python
python爬虫泛滥的解决方法详解
2020/11/25 Python
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
个性化皮包、小袋、生活配件:Mon Purse
2019/03/26 全球购物
广州盈通面试题
2015/12/05 面试题
介绍一下常见的木马种类
2014/11/15 面试题
linux面试题参考答案(6)
2014/08/29 面试题
倡议书格式范文
2014/04/14 职场文书
住宿生擅自离校检讨书
2014/09/22 职场文书
离婚协议书包括哪些内容
2014/10/16 职场文书
高中教师个人总结
2015/02/10 职场文书
幼儿园教师师德表现自我评价
2015/03/05 职场文书
会计简历自我评价
2015/03/10 职场文书
关于召开会议的通知
2015/04/15 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
付款证明格式范文
2015/06/19 职场文书
解决mysql的int型主键自增问题
2021/07/15 MySQL