python自动重试第三方包retrying模块的方法
retrying是一个python的重试包,可以用来自动重试一些可能运行失败的程序段,retrying提供一个装饰器函数retry,被装饰的函数就会在运行失败的情况下重新执行,默认只要一直报错就会不断重试。
最近写了一个爬虫,需要连接国外的一个网站,经常出现掉线的情况,自己写了一个自动重连的代码,但感觉不够简洁。。。
后来就上万能的github,找到了一个第三包,基本能满足我的要求。这个第三方包就是retrying.
我的需求就是每当出现request相关异常的时候,就自动重来,上限连接10次;使用代码如下:
from retrying import retry def is_request_exception(e): return issubclass(type(e),RequestException) @retry(retry_on_exception=is_request_exception,wrap_exception=False, stop_max_attempt_number=10) def request_get(url, timeout=120): return requests.get(url, timeout=120)
刚开始用的时候,也遇到一些坑,就是在request_get
用了try..except,导致不成功。后来删除就可以了。。。
我理解,在retring包中,已经有exception处理了,如果你的代码中有了exception处理,retring就没有捕获异常,就没法达到期望的结果了。
retrying还有非常多的自定义参数,如果等待时长控制,总共等待时间控制等等,暂时还没有这么特别的要求,等需要的时候,我再去研究一下。
总结
以上所述是小编给大家介绍的python自动重试第三方包retrying模块的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
您可能感兴趣的文章:
- python学习之第三方包安装方法(两种方法)
相关推荐
-
python学习之第三方包安装方法(两种方法)
这篇文章主要介绍了python学习之第三方包安装方法,最近在学习QQ空间.微博(爬虫)模拟登录,都涉及到了RSA算法.这样需要下一个RSA包(第三方包),在网上搜了好多资料,具体有以下两种方法: 第一种方法(不使用pip或者easy_install): Step1:在网上找到的需要的包,下载下来.eg. rsa-3.1.4.tar.gz Step2:解压缩该文件. Step3:命令行工具cd切换到所要安装的包的目录,找到setup.py文件,然后输入python setup.py install
-
python自动重试第三方包retrying模块的方法
retrying是一个python的重试包,可以用来自动重试一些可能运行失败的程序段,retrying提供一个装饰器函数retry,被装饰的函数就会在运行失败的情况下重新执行,默认只要一直报错就会不断重试. 最近写了一个爬虫,需要连接国外的一个网站,经常出现掉线的情况,自己写了一个自动重连的代码,但感觉不够简洁... 后来就上万能的github,找到了一个第三包,基本能满足我的要求.这个第三方包就是retrying. 我的需求就是每当出现request相关异常的时候,就自动重来,上限连接10次:
-
Python自动安装第三方库的小技巧(pip使用详解)
大家好,我是才哥. 最近周末也加班了,害- 有刚接触python的粉丝同学在运行此前<>的完整代码遇到以下问题,然后- 好吧,今天我们就专门介绍一下Python安装第三方库的一些小技巧,其中还包含自动安装的方法哈. 1. pip在线安装 在cmd命令行模式下,通过pip install 第三方库名称的形式,直接进行第三方库的安装. 我们以安装plotly为例,安装表现如下: pip install plotly 如果需要安装的第三方库已经存在,我们执行安装命令的时候会提示其存在且展示库安装的位
-
python解压zip包中文乱码解决方法
乱码得原因: 由于ZipFile模块导出遇到中文解码不对,windows上会出现,linux是否会出现不知道没测试过. 解决方式: 1. 搞个文件名引射表(不太方便,少量文件夹套用时候还可以) 2. 修改源码解码格式(不太方便,自己搞了一下,之后报其他错误) 3. 自己写入文件,自己创建文件夹(推荐) 自己创建的写法: with zipfile.ZipFile(file=zip_save_path, mode='r') as zf: # 解压到指定目录,首先创建一个解压目录 os.mkdir(u
-
Python自动调用IE打开某个网站的方法
本文实例讲述了Python自动调用IE打开某个网站的方法.分享给大家供大家参考.具体实现方法如下: import win32gui import win32com import win32com.client import pythoncom import time class Test: def runtest(self): print 'test' class EventHandler: def OnVisible(self,visible): global bVisibleEventFir
-
利用Python自动监控网站并发送邮件告警的方法
前言 因为有一些网站需要每日检查是否有问题,所以需要一个报警监控的机制,这个需要你指定你发送的邮箱和你接收的邮箱,就可以做到对网站自动监控了. 这里用的是python3.5 需要安装的插件: 1.smtplib:发邮件需要用到 2.pycurl:访问网站时会需要用到 3.linecache:在读取txt网站清单时需要用到 具体思路: python程序从txt里面批量读取到网站的信息,通过Curl.py模拟浏览器去访问网站,并且把访问的结果写入到以自己的网站名称-日期.txt格式的文件中记录;有几
-
Python中IP地址处理IPy模块的方法
安装 先下载源码,地址:ps://pypi.python.org/pypi/IPy/">https://pypi.python.org/pypi/IPy/ ,然后解压后使用命令python setup.py install安装. 使用 1.显示IP类型 >>> IP('192.168.1.1').version() 4 >>> IP('::1').version() 6 类似如上所示,通过version方法可以的判断输入的IP是IPv4还是IPv6 .
-
python自动截取需要区域,进行图像识别的方法
实例如下所示: import os os.chdir("G:\Python1\Lib\site-packages\pytesser") from pytesser import * from pytesseract import image_to_string from PIL import Image from PIL import ImageGrab #截图,获取需要识别的区域 x = 345 y = 281 m = 462 n = 327 k = 54 for i in rang
-
python人工智能tensorflow函数np.random模块使用方法
目录 np.random模块常用的一些方法介绍 例子 numpy.random.rand(d0, d1, …, dn): numpy.random.randn(d0, d1, …, dn): numpy.random.randint(low, high=None, size=None, dtype=‘I’): numpy.random.uniform(low=0.0, high=1.0, size=None): numpy.random.normal(loc=0.0, scale=1.0, si
-
Python自动生产表情包
作为一个数据分析师,应该信奉一句话--"一图胜千言".不过这里要说的并不是数据可视化,而是一款全民向的产品形态--表情包!!!! 表情包不仅仅是一种符号,更是一种文化--是促进社交乃至社会发展的动力之一,就像懒.我们坚持认为,一张优秀的表情包,应该是一幅艺术品,是那忽如一夜春风来的灵感爆发,是那嘈嘈切切错杂弹的情思激荡,是那直挂云帆济沧海的壮志豪情,是那一览天下众山小的荣耀胜利--是不可以容忍码农用其惯有的形式固定.流程固定.毫无美感.毫无艺术的变幻和惊喜的直线思维解构.然而,在生产表
随机推荐
- Android实现微信自动抢红包的程序
- xpath的数据和节点类型以及XPath中节点匹配的基本方法
- js获取指定字符前/后的字符串简单实例
- Backdoor.Win32.IRCBot.afm(video.exe)病毒的处理方法
- SQL 2005 ERROR:3145 解决办法(备份集中的数据库备份与现有的数据库不同)
- ajax异步刷新实现更新数据库
- 利用Window自带Ipsec安全策略对服务器进行安全加固
- JavaEE中关于ServletConfig的小结
- asp.net 2.0的文件上传(突破上传限制4M)
- C#连接Oracle的方法实例总结
- JavaScript中的ajax功能的概念和示例详解
- 微信公众平台开发教程(二) 基本原理及消息接口总结
- jQuery 动画效果代码分享
- jQuery页面图片伴随滚动条逐渐显示的小例子
- jQuery tagsinput在h5邮件客户端中应用详解
- 关于脚本操作文本域的问题
- Windows 2008 R2 用PHP Manager for IIS 配置PHP(FastCGI)环境
- C++结构体数组详细解析
- Android 中SwipeRefreshLayout与ViewPager滑动事件冲突解决方法
- Android自定义View展开菜单功能的实现