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多进程并发(multiprocessing)用法实例详解
Jun 02 Python
Python爬虫:通过关键字爬取百度图片
Feb 17 Python
Tensorflow环境搭建的方法步骤
Feb 07 Python
解决Django的request.POST获取不到内容的问题
May 28 Python
python中itertools模块zip_longest函数详解
Jun 12 Python
numpy.linspace 生成等差数组的方法
Jul 02 Python
如何利用python制作时间戳转换工具详解
Sep 12 Python
详解python爬虫系列之初识爬虫
Apr 06 Python
使用Python Pandas处理亿级数据的方法
Jun 24 Python
DataFrame.to_excel多次写入不同Sheet的实例
Dec 02 Python
python 视频逐帧保存为图片的完整实例
Dec 10 Python
pytorch通过训练结果的复现设置随机种子
Jun 01 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页面间参数传递的四种方法详解
2013/06/09 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
PHP面试常用算法(推荐)
2016/07/22 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
用javascript为页面添加天气显示实现思路及代码
2013/12/02 Javascript
js实现文本框选中的方法
2015/05/26 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
jQuery 如何实现一个滑动按钮开关
2016/12/01 Javascript
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
Python制作简单的网页爬虫
2015/11/22 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
python使用Matplotlib画饼图
2018/09/25 Python
详解python持久化文件读写
2019/04/06 Python
Python logging设置和logger解析
2019/08/28 Python
Python timeit模块的使用实践
2020/01/13 Python
对python中 math模块下 atan 和 atan2的区别详解
2020/01/17 Python
CSS3制作半透明边框(Facebox)类似渐变
2012/12/09 HTML / CSS
HTML5实现移动端点击翻牌功能
2020/10/23 HTML / CSS
预订从美国飞往印度的机票:MyTicketsToIndia
2017/05/19 全球购物
《走一步再走一步》教学反思
2014/02/15 职场文书
应届大学生自荐书
2014/06/17 职场文书
软件研发工程师岗位职责
2014/09/30 职场文书
公司更名通知函
2015/04/24 职场文书
军训新闻稿范文
2015/07/17 职场文书
家电创业计划书
2019/08/05 职场文书
Python深度学习之实现卷积神经网络
2021/06/05 Python
SpringBoot+Redis实现布隆过滤器的示例代码
2022/03/17 Java/Android