zoukankan      html  css  js  c++  java
  • retrying 模块

    我们在写爬虫的过程中,经常遇到爬取失败的情况,这个时候我们一般会通过 try 块去进行重试,但是每次都写那么一堆 try 块,真的是太麻烦了,所以今天就来说一个比较 pythonic 的模块,retrying

    安装

    pip install retrying

    使用

      retrying 模块通过装饰器的形式来进行重试操作的,首先我们看一个简单的例子:

      

    from retrying import retry
    
    @retry(stop_max_attempt_number = 5,wait_random_min = 1000,wait_random_max = 5000)
    def run():
        print("开始重试")
        raise NameError
    
    if __name__ == '__main__':
       run()    

    retrying 装饰器的参数的使用:

      stop_max_attempt_number:最大重试次数,超过这个次数会停止重试,并报异常

      wair_random_min:随机等待最小的时间

      wait_random_max:随机等待最大的时间

      retrying装饰器的使用就是这么简单,在需要重试的函数上面加上这个装饰器就好了。

    关键是装饰器参数的使用,如果不写参数会一直重试

    stop_max_attempt_number: 在停止前尝试的最大次数,最后一次如果还是由异常则会抛出异常,停止运行,默认为 5 次。

    强调总次数:

      stop_max_delay:最大延迟时间,大概意思就是:如果调用的函数出现异常,那么就会重复调用这个函数,最大调用时间,默认为 100 毫秒

      @retry(stop_max_delay=5000)

      会重试 5 秒钟,强调总时间  

  • 相关阅读:
    Linux下如何从mysql数据库里导出导入数据
    安装好Pycharm后如何配置Python解释器简易教程
    Windows离线安装Python第三方库的方法
    时间输入框的测试方法
    doc转html
    pdf转png图片
    html转pdf
    html转pdf
    复习 注解反射
    Mybatis实现插入数据的时候将主键赋值给对象的两种方法
  • 原文地址:https://www.cnblogs.com/jcjc/p/11636284.html
Copyright © 2011-2022 走看看