retrying模块的安装及使用
2024-09-04 14:49:12
安装retrying模块:
win10用户在联网的情况下直接在cmd.exe里面键入"pip install retrying" 即可安装retrying模板
在网页正常浏览的过程中,如果发生过慢的情况,我们会重新加载页面,在代码中,如果我们要实现重新加载页面,就需要使用到retrying模块了
retrying 模块的使用
使用retrying模块提供的retry模块
通过装饰器的方式使用,让被装饰的函数反复执行
retry中可以传入参数stop_max_attempt_number,让函数报错后继续重新执行,达到最大执行次数的上限,如果每次都报错,整个函数报错,如果中间有一个成功,程序继续往后执行
import requests
from retrying import retry @retry(stop_max_attempt_number=3)
def get12306():
print('123')
url = "https://www.12306.cn/mormhweb/"
response = requests.get(url,timeout=0.001)
print(response.content.decode())
if __name__ == '__main__':
try:
get12306()
except:
print('finish') 我们使用timeout属性营造出一种网速慢的情况
如果每次请求都失败的话,会重复加载三次
但如果成功一次,就不再重新加载直接停止,即第一次便成功加载进去的话,便只运行一次
import requests
from retrying import retry @retry(stop_max_attempt_number=3)
def get12306():
print('123')
url = "https://www.12306.cn/mormhweb/"
response = requests.get(url,timeout=3) # 使其停顿3秒
print(response.content.decode())
if __name__ == '__main__':
try:
get12306()
except:
print('finish')
最新文章
- logback日志写入数据库(mysql)配置
- 如何提升代码编译的速度 iOS
- 19.在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(?)写出http常见的状态码和含义,至少5个.[完善题目]
- C#栈
- Javascript检测用户注册信息
- R函数是对A方法的封装
- 码农谷 球从M米高度自由下落第N次落地时反弹的高度
- golang实现ios推送
- java mysql模板
- Cisco cmd 命令(二)
- 玩转Web之Json(一)-----easy ui+ajax + json 中关于Json的解析问题
- <;mate>;标签中属性/值的各个意思
- Asp.Net MVC 之 Autofac 初步使用3 集成web api
- centos 如何关闭防火墙?
- ";Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs
- genetic model
- Golang闭包案例分析与普通函数对比
- C++学习(二十四)(C语言部分)之 结构体1
- hehe,网易邮箱已经流氓到这个地步了
- 通用ajax请求方法封装,兼容主流浏览器
热门文章
- Netty5.x中新增和值得注意的点(转载http://www.coderli.com/netty-5-new-and-noteworthy/)
- web前端绘制0.5像素的几种方法
- ES+open-falcon之报警自动发送请求信息
- 扩展欧几里得算法(exgcd)
- ACM学习历程—BZOJ 2115 Xor(dfs &;&; 独立回路 &;&; xor高斯消元)
- 用NodeJS打造多人在线聊天室(NodeJS &; SocketIO &; Express &; EJS &; MongoDB &; Gulp)
- Android的缓存图片不在系统图库中显示的解决办法
- javascript之原型prototype
- OpenStack、CloudStack、Eucalyptus和vCloud Director四大主流云平台怎么选?
- HDOJ5441(图论中的并查集)