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的mysql数据库的更新如何实现
Jul 31 Python
Python3学习笔记之列表方法示例详解
Oct 06 Python
基于Python os模块常用命令介绍
Nov 03 Python
python scipy求解非线性方程的方法(fsolve/root)
Nov 12 Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 Python
Flask框架中request、请求钩子、上下文用法分析
Jul 23 Python
python通过txt文件批量安装依赖包的实现步骤
Aug 13 Python
Python对接 xray 和微信实现自动告警
Sep 17 Python
Pytest框架之fixture的详细使用教程
Apr 07 Python
python绘制分布折线图的示例
Sep 24 Python
python爬虫--selenium模块
Mar 31 Python
python使用torch随机初始化参数
Mar 22 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中的float类型使用说明
2010/07/27 PHP
php开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
PHP使用数组实现矩阵数学运算的方法示例
2017/05/29 PHP
PHP用continue跳过本次循环中剩余代码的注意点
2017/06/27 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
用jquery设置按钮的disabled属性的实现代码
2010/11/28 Javascript
原生javascript实现隔行换色
2015/01/04 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
PHP+jQuery实现随意拖动层并即时保存拖动位置
2015/04/30 Javascript
JavaScript中的Promise使用详解
2015/06/24 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
2015/09/09 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
JavaScript过滤字符串中的中文与空格方法汇总
2016/03/07 Javascript
ReactNative短信验证码倒计时控件的实现代码
2017/07/20 Javascript
jQuery轻量级表单模型验证插件
2018/10/15 jQuery
vue中$refs, $emit, $on, $once, $off的使用详解
2019/05/26 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
2020/10/28 Javascript
[48:21]林俊杰圣堂刺客超神杀戮秀
2014/10/29 DOTA
Python每天必学之bytes字节
2016/01/28 Python
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
python paramiko模块学习分享
2017/08/23 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
2018/05/07 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
Pytorch: 自定义网络层实例
2020/01/07 Python
python对数组进行排序,并输出排序后对应的索引值方式
2020/02/28 Python
Pygame框架实现飞机大战
2020/08/07 Python
python3代码中实现加法重载的实例
2020/12/03 Python
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
英国领先的在线旅游和休闲零售商:lastminute.com
2019/01/23 全球购物
销售心得体会
2014/01/02 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
旷工检讨书1000字
2015/01/01 职场文书
总经理司机岗位职责
2015/04/10 职场文书
2016高考寄语或鼓励的话语
2015/12/04 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书