为了账号安全,请及时绑定邮箱和手机立即绑定

if的条件没满足,想要重试几次,这种逻辑怎么操作?

if的条件没满足,想要重试几次,这种逻辑怎么操作?

慕码人8056858 2019-02-18 02:46:36
比如设置了一个判断条件: if requests.get(so_url,proxies=proxy,headers=headers).status_code == 200: html = requests.get(so_url,proxies=proxy,headers=headers).text url = re.search('<div class="img-box">.*?<a.*?href="(.*?)"><span>',html,re.S).group(1).replace('amp;','') print(url) else: proxy = str(proxy).replace("{'http': 'http://",'').replace("'}",'') #当条件不满足时,想要重试请求几次 请问这种逻辑该怎么设计?一开始在else下直接调用了该函数,可是后来好像有内存溢出的情况?后来干脆把上面的判断在else下又写了一遍,可是也只能重试一次... 想要的效果是,如果走到else了,那就把判断条件再重试N次...
查看完整描述

3 回答

?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

递归呗,你需要一个变量来记录请求次数

查看完整回答
反对 回复 2019-03-01
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

Session()对象

python3

import requests as req

ssn = req.Session()
ssn.headers=headers

n=9
for i in range(n):
    ssn.proxies = proxy
    rsp = ssn.get(url)
    if rsp.status_code == 200:
        html=rsp.text
        print(url)
        break
    else:
        proxy = str(proxy).replace("{'http': 'http://",'').replace("'}",'')

查看完整回答
反对 回复 2019-03-01
  • 3 回答
  • 0 关注
  • 504 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信