python3 requests出错重试解决方法
发布日期:2021-06-28 19:08:29
浏览次数:3
分类:技术文章
本文共 1115 字,大约阅读时间需要 3 分钟。
对python3下的requests使用并不是很熟练,今天稍微用了下,请求几次下来后发现出现连接超时的异常,上网查了下,找到了一个还算中肯的解决方法。
retrying是python的一个自带的重试包
导入方式:
from retrying import retry
简单使用
retrying 这个包的用法原理就是在你不知道那段代码块是否会发生异常,若发生异常,可以再次执行该段的代码块,如果没有发生异常,那么就继续执行往下执行代码块
以前你的代码可能是这样写的:
def get_html(url): passdef log_error(url): passurl = ""try: get_page(url)except: log_error(url)
也有可能是这样子写的:
# 请求超过十次就放弃attempts = 0success = Falsewhile attempts < 10 and not success: try: get_html(url) success = True except: attempts += 1 if attempts == 10: break
使用 retrying 的写法:
import randomfrom retrying import retry@retry()def do_something_unreliable(): if random.randint(0, 10) > 1: raise IOError("Broken sauce, everything is hosed!!!111one") else: return "Awesome sauce!"result = do_something_unreliable()print(result)
上面的是简单的用法,你可以试下,下面是一些可选参数的使用方式。
- stop_max_attempt_number
用来设定最大的尝试次数,超过该次数就停止重试
- stop_max_delay
超过时间段,函数就不会再执行了
- wait_random_min和wait_random_max
用随机的方式产生两次retrying之间的停留时间
更多的API可以访问python官网
————————————— 下面是广告 ————————————————
个人微信:hll643435675(备注:博客)
更多资源请访问:
欢迎光临我的小网站:
欢迎光临这个妹子的SEO优化网站:
陆续优化中,后续会开发更多更好玩的有趣的小工具
————————————— 上面是广告 ————————————————
转载地址:https://blog.csdn.net/xudailong_blog/article/details/82469380 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月14日 05时47分46秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java单例模式
2019-04-29
三种方法拆分字符串
2019-04-29
贪心算法基本思想和典型例题
2019-04-29
坑爹的小学数学题
2019-04-29
快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值
2019-04-29
[经典排序算法][集锦]
2019-04-29
无处不在的二分查找
2019-04-29
Java集合框架List,Map,Set等全面介绍
2019-04-29
Java 泛型(二) 泛型之中的通配符(Wildcards)使用
2019-04-29
7-36 复数四则运算 (15 分)
2019-04-29
基于powershell的渗透测试工具nishang
2019-04-29
Webug4.0显错注入
2019-04-29
pycharm创建django项目linux部署
2019-04-29
利用Android Studio快速搭建App
2019-04-29
CompletableFuture的多线程和异步监听实现
2019-04-29
HashMap jdk1.7和1.8概述
2019-04-29
springboot多环境加载yml和logback配置
2019-04-29
几道简单的算法题(来自leetcode)
2019-04-29