【python 装饰器 - 重试】做一个简易重试装饰器,如果函数执行错误则会自动重新执行,可设置重试次数,对爬虫比较友好

文章日期:2024.03.19

使用工具:Python

类型:装饰器

文章全程已做去敏处理!!! 【需要做的可联系我】

AES解密处理(直接解密即可)(crypto-js.js 标准算法):在线AES加解密工具

上面的图片案例,里面的意思简单来说就是用 【传参】和【随机的整数】进行除法运算,而随机的整数不能为0,如果为0则表示错误,则会重新运行此函数,重新获取随机数,直到成功或者重试的次数用完
当然,这只是用来演示如何使用的,你们可以随意更改,也可以把参数改成爬虫请求,然后检测状态码,当出现错误的时候,会自动重试的
[retry]:默认为重试3次,可设置
【附上源码】
python 复制代码
class retry_lane(object):
    def __init__(self, retry: int = 3):
        '''
        :param retry: int类型:重试次数
        使用方法:@retry_lane(retry=3)
        '''
        self.retry = retry
    def __call__(self, func):
        def wrapper(*args, **kwargs):
            l = 0
            while self.retry > 0:
                l += 1
                try:
                    print(f'运行第{l}次')
                    return func(*args, **kwargs)
                except Exception as e:
                    self.retry -= 1
                    if self.retry == 0:
                        return e
        return wrapper
相关推荐
胖墩会武术22 分钟前
大模型效果优化方案(经验分享)
人工智能·经验分享·python·语言模型
IvanCodes34 分钟前
PySpark 安装教程及 WordCount 实战与任务提交
大数据·python·spark·conda
databook1 小时前
Manim实现波浪形文字特效
后端·python·动效
ggaofeng1 小时前
用 Python 实现一个简化但可运行的 单点登录(SSO)系统
开发语言·python
Python极客之家2 小时前
基于数据挖掘的在线游戏行为分析预测系统
人工智能·python·机器学习·数据挖掘·毕业设计·课程设计
技术猴小猴2 小时前
如何使用Python实现UDP广播
开发语言·python·udp
峥嵘life2 小时前
Android16 adb投屏工具Scrcpy介绍
android·开发语言·python·学习·web安全·adb
AI视觉网奇3 小时前
vscode 不能跳转 ERR_OSSL_EVP_BAD_DECRYPT
python
文心快码BaiduComate3 小时前
Comate分饰多角:全栈开发一个Python学习网站
前端·后端·python
雨声不在3 小时前
cronet从编译到修改之: 支持IP直连
python·网络协议·tcp/ip·cronet