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连接sql server乱码的解决方法
Jan 28 Python
python中的对象拷贝示例 python引用传递
Jan 23 Python
Python多线程编程(八):使用Event实现线程间通信
Apr 05 Python
Python的包管理器pip更换软件源的方法详解
Jun 20 Python
python写入并获取剪切板内容的实例
May 31 Python
详解python3中zipfile模块用法
Jun 18 Python
在python中获取div的文本内容并和想定结果进行对比详解
Jan 02 Python
Python-Seaborn热图绘制的实现方法
Jul 15 Python
pandas 如何分割字符的实现方法
Jul 29 Python
Python中typing模块与类型注解的使用方法
Aug 05 Python
Python + Flask 实现简单的验证码系统
Oct 01 Python
Django分页器的用法你都了解吗
May 26 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
fleaphp下不确定的多条件查询的巧妙解决方法
2008/09/11 PHP
php将数据库中所有内容生成静态html文档的代码
2010/04/12 PHP
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
php获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
php获取文件类型和文件信息的方法
2015/07/10 PHP
学习php设计模式 php实现桥梁模式(bridge)
2015/12/07 PHP
PHP实现的简单适配器模式示例
2017/06/22 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
JS 精确统计网站访问量的实例代码
2013/07/05 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
Javascript中的call()方法介绍
2015/03/15 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
2015/04/01 Javascript
使用JQuery实现智能表单验证功能
2016/03/08 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
Angular2使用vscode断点调试ts文件的方法
2017/12/13 Javascript
详解AngularJS 过滤器的使用
2018/06/02 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
2018/07/10 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
2019/11/12 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
浅析Python中的多条件排序实现
2016/06/07 Python
python正则表达式面试题解答
2020/04/28 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
2018/03/04 Python
Python基于滑动平均思想实现缺失数据填充的方法
2019/02/21 Python
python基于opencv 实现图像时钟
2021/01/04 Python
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
Hotter Shoes英国官网:英伦风格,舒适的鞋子
2017/12/28 全球购物
家具厂厂长岗位职责
2014/01/01 职场文书
公司培训心得体会
2014/01/03 职场文书
优秀公益广告词大全
2014/03/19 职场文书
党建工作先进材料
2014/05/02 职场文书
法制演讲稿
2014/09/10 职场文书
2014年销售人员工作总结
2014/11/27 职场文书
2015年爱国卫生月活动总结
2015/03/26 职场文书
2015年电教工作总结
2015/05/26 职场文书
幼儿体育课教学反思
2016/02/16 职场文书