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利用elaphe制作二维条形码实现代码
May 25 Python
python实现监控windows服务并自动启动服务示例
Apr 17 Python
python开发之thread线程基础实例入门
Nov 11 Python
使用Python的Flask框架构建大型Web应用程序的结构示例
Jun 04 Python
Python requests.post方法中data与json参数区别详解
Apr 30 Python
Python sublime安装及配置过程详解
Jun 29 Python
Java byte数组操纵方式代码实例解析
Jul 22 Python
Pycharm导入anaconda环境的教程图解
Jul 31 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
Nov 17 Python
python实现图像高斯金字塔的示例代码
Dec 11 Python
Python爬虫爬取ts碎片视频+验证码登录功能
Feb 22 Python
分享3个非常实用的 Python 模块
Mar 03 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
做个自己站内搜索引擎
2006/10/09 PHP
PHP多线程抓取网页实现代码
2010/07/22 PHP
php设计模式 Composite (组合模式)
2011/06/26 PHP
php中使用preg_match_all匹配文章中的图片
2013/02/06 PHP
深入php var_dump()函数的详解
2013/06/05 PHP
php将HTML表格每行每列转为数组实现采集表格数据的方法
2015/04/03 PHP
PHP如何通过AJAX方式实现登录功能
2015/11/23 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
浅谈PHP进程管理
2019/03/08 PHP
top.location.href 没有权限 解决方法
2008/08/05 Javascript
Jquery.addClass始终无效原因分析
2013/09/08 Javascript
JQuery的ready函数与JS的onload的区别详解
2013/11/21 Javascript
浅析JavaScript中的事件机制
2015/06/04 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
jQuery.deferred对象使用详解
2016/03/18 Javascript
jQuery获取同级元素的简单代码
2016/07/09 Javascript
jQuery实现checkbox的简单操作
2017/11/18 jQuery
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
JS实现头条新闻的经典轮播图效果示例
2019/01/30 Javascript
JS实现移动端在线签协议功能
2019/08/22 Javascript
[02:02:38]VG vs Mineski Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
python 从文件夹抽取图片另存的方法
2018/12/04 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
matplotlib交互式数据光标mpldatacursor的实现
2021/02/03 Python
好人好事事迹材料
2014/02/12 职场文书
自我鉴定标准格式
2014/03/19 职场文书
祝酒词范文
2015/08/12 职场文书
大学生团支书竞选稿
2015/11/21 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript
SpringBoot整合JWT的入门指南
2021/06/29 Java/Android
详解Flutter和Dart取消Future的三种方法
2022/04/07 Java/Android
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle
python运行脚本文件的三种方法实例
2022/06/25 Python