python requests与aiohttp 速度对比
环境: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 requests与aiohttp 速度对比的更多相关文章
- Python requests模拟登录
Python requests模拟登录 #!/usr/bin/env python # encoding: UTF-8 import json import requests # 跟urllib,ur ...
- 大概看了一天python request源码。写下python requests库发送 get,post请求大概过程。
python requests库发送请求时,比如get请求,大概过程. 一.发起get请求过程:调用requests.get(url,**kwargs)-->request('get', url ...
- Python requests 安装与开发
Requests 是用Python语言编写HTTP客户端库,跟urllib.urllib2类似,基于 urllib,但比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求, ...
- Python+Requests接口测试教程(1):Fiddler抓包工具
本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容.刚买须知:本书是针对零基础入门接口测 ...
- python requests库学习笔记(上)
尊重博客园原创精神,请勿转载! requests库官方使用手册地址:http://www.python-requests.org/en/master/:中文使用手册地址:http://cn.pytho ...
- python requests抓取NBA球员数据,pandas进行数据分析,echarts进行可视化 (前言)
python requests抓取NBA球员数据,pandas进行数据分析,echarts进行可视化 (前言) 感觉要总结总结了,希望这次能写个系列文章分享分享心得,和大神们交流交流,提升提升. 因为 ...
- 转载:python + requests实现的接口自动化框架详细教程
转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由 ...
- python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告(二)
可以参考 python+requests接口自动化完整项目设计源码(一)https://www.cnblogs.com/111testing/p/9612671.html 原文地址https://ww ...
- python+requests接口自动化测试框架实例详解教程
1.首先,我们先来理一下思路. 正常的接口测试流程是什么? 脑海里的反应是不是这样的: 确定测试接口的工具 —> 配置需要的接口参数 —> 进行测试 —> 检查测试结果(有的需要数据 ...
随机推荐
- LeetCode 92. Reverse Linked List II倒置链表2 C++
Reverse a linked list from position m to n. Do it in one-pass. Note: 1 ≤ m ≤ n ≤ length of list. Exa ...
- springIoC的理解01
IOC将模块(对象)之间的依赖关系交由IOC容器管理,让应用开发对接口编程,而不是对类编程.依赖反转:每个对象都需要与其合作的对象(也就是依赖的对象)的引用.未使用依赖反转的特性之前,是需要先创建一个 ...
- Shell 批量修改主机 用户密码
问题:132.121.114 和 132.121.118 网段共 48 台主机未添加基础监控,但是 wh 账户不能登录 需进行批量修改密码操作. 目前情况:op1对上述48台机器设备均能免密登录. 操 ...
- 2018-2019-2 《网络对抗技术》Exp0 Kali安装 Week1 20165304
下载镜像文件 在官网上下载好64位的镜像文件后,按照网上是教程进行安装,安装成功后截图如下 接下来是安装增强功能 按照教程安装增强功能后截图如下 设置共享文件 安装搜狗 在安装搜狗时遇到了安装失败的情 ...
- Django ORM中常用字段和参数
一些说明: 表myapp_person的名称是自动生成的,如果你要自定义表名,需要在model的Meta类中指定 db_table 参数,强烈建议使用小写表名,特别是使用MySQL作为后端数据库时. ...
- 如何在Chrome中导入和导出密码
如果想让 Chrome 支持密码导入和导出,需要先在地址栏中执行 chrome://flags/#password-import-export 将该功能启用并重启浏览器才能生效. 浏览器重启完成后 ...
- 传统应用、服务器集群、分布式、SOA各种架构的简单解释
传统架构:无论是SE应用还是WEB应用,传统架构都是表现层---业务层---持久层---数据库 1000并发(tomcat单台500并发,tomcat一般做集群的话,节点数量不能太多,5个左右): ...
- spring AOP capbilities and goal
Spring AOP 是用纯JAVA 实现的. 不需借助JAVA代码在编译处理阶段来实现. Spring 是在运行期实现的.AOP的实现可以在编译,加载,运行三个阶段来实现:Spring AOP 也不 ...
- virtualenv+pyenv管理python工作环境
因为python2与3之间存在差异,所以日常工作中可能需要在2与3之间来回切换.在相同的python版本中,有可能有的项目需要用到django1.8,别的项目需要用到django1.9,所以如果可以在 ...
- docker学习-常用命令1
一.容器管理 1.1 Docker start/stop/restart/rm 命令实例:启动|停止|重启|删除 容器mydb01# docker start|stop|restart|rm mydb ...