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中用于转换字母为小写的lower()方法使用简介
May 19 Python
在centos7中分布式部署pyspider
May 03 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
Nov 14 Python
Python科学画图代码分享
Nov 29 Python
浅析python的优势和不足之处
Nov 20 Python
Python变量类型知识点总结
Feb 18 Python
Django中使用CORS实现跨域请求过程解析
Aug 05 Python
python3反转字符串的3种方法(小结)
Nov 07 Python
Python谱减法语音降噪实例
Dec 18 Python
python getopt模块使用实例解析
Dec 18 Python
基于Python实现对比Exce的工具
Apr 07 Python
Python采集爬取京东商品信息和评论并存入MySQL
Apr 12 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
动漫定律:眯眯眼都是怪物!这些角色狠话不多~
2020/03/03 日漫
PHP输出控制功能在简繁体转换中的应用
2006/10/09 PHP
php常用hash加密函数
2014/11/22 PHP
php实现的树形结构数据存取类实例
2014/11/29 PHP
php获取twitter最新消息的方法
2015/04/14 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
Maps Javascript
2007/01/22 Javascript
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
Angularjs制作简单的路由功能demo
2015/04/14 Javascript
js实现无限级树形导航列表效果代码
2015/09/23 Javascript
JS中使用FormData上传文件、图片的方法
2016/08/07 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
javascript设计模式之策略模式学习笔记
2017/02/15 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
基于AngularJS实现表单验证功能
2017/07/28 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
js实现弹幕墙效果
2020/12/10 Javascript
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python3实现从文件中读取指定行的方法
2015/05/22 Python
Python爬取国外天气预报网站的方法
2015/07/10 Python
Python用模块pytz来转换时区
2016/08/19 Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
2017/05/11 Python
分享几道你可能遇到的python面试题
2017/07/24 Python
浅谈使用Python变量时要避免的3个错误
2017/10/30 Python
python实现知乎高颜值图片爬取
2019/08/12 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
香港化妆品经销商:我的公主
2016/08/05 全球购物
《胖乎乎的小手》教学反思
2014/02/26 职场文书
《彩色世界》教学反思
2014/04/12 职场文书
高中升旗仪式演讲稿
2014/09/09 职场文书
公司授权委托书范文
2014/09/21 职场文书
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js