for i in range(len(links)): try: url = links.loc[i,"News_url"] a,b = content(url) links.loc[i,'Content'] = a links.loc[i,'Title'] = b print("第{}篇新闻爬取完成".format(i+1)) except: print("第{}篇新闻网页错误!!!".format(i+1))如何设置try内容运行失败后重新运行,重新运行失败5次后才进入下一个循环
时间: 2024-03-26 07:41:36 浏览: 11
你可以使用一个`while`循环,将`try`语句块放在循环内部,当出现异常时,将异常计数器加1,直到达到最大尝试次数或者成功获取到内容后跳出循环,例如:
```
max_tries = 5 # 最大尝试次数
for i in range(len(links)):
tries = 0 # 尝试次数计数器
while tries < max_tries:
try:
url = links.loc[i, "News_url"]
a, b = content(url)
links.loc[i, 'Content'] = a
links.loc[i, 'Title'] = b
print("第{}篇新闻爬取完成".format(i+1))
break # 成功获取内容,跳出循环
except:
print("第{}篇新闻网页错误,正在进行第{}次尝试".format(i+1, tries+1))
tries += 1 # 异常计数器加1
time.sleep(1) # 稍微等待一下再尝试
if tries == max_tries:
print("第{}篇新闻尝试{}次仍然失败,进入下一个循环".format(i+1, max_tries))
continue # 进入下一个循环
```
这样代码会在异常发生时,尝试重新获取内容,最多尝试`max_tries`次。如果尝试次数达到最大值仍然失败,则跳过当前循环进入下一个循环。