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 秒钟,强调总时间  

  • 相关阅读:
    replace和translate的用法
    java中静态方法和静态类的学习
    rank()函数的使用
    orcle函数的使用,及其调用
    父子级菜单的查询
    Centos7 安装K8S 小记
    三剑客之三 Awk小记
    三剑客之二 Sed小记
    三剑客之一 Grep小记
    ssh与telnet区别 小记
  • 原文地址:https://www.cnblogs.com/jcjc/p/11636284.html
Copyright © 2011-2022 走看看