请问爬虫运用while true,try,except如何实现只循环5次?

我知道用if else可以指定持续只循环5次,但if else不管第一遍有没有下载成功都会循环下载5次的,浪费时间。我用try except想实现如果第一遍下载成功就直接下一页,如果没成功最多重试5次,5次之后不管有没有成功都跳过这页开始下载下页内容 的需求。 我尝试了在try前面加if,在except里面加if都没成功。


counts = 0
      while True:
            try:
                download_pic(title)
                break
            except:
                time.sleep(1)
                print(f'第{k}{title}正在重试中')
                counts += 1
            finally:
                if counts>2:
                    break
                break

应该是这样

counts = 0
while True:
    try:
        download_pic(title)
        break
    except:
        time.sleep(1)
        print(f'第{k}{title}正在重试中')
        counts += 1
        if counts>=5:
            break

第一句话是: 我知道用if else可以指定程序只循环5次。抱歉,打错字了


for i in range(5):
    try:
        download_pic(title)
        break
    except:
        time.sleep(1)
        print(f'第{k}页{title}正在重试中')