for i in range(1,10000): count = 0 while True: try: page = i url = URL.format(page)###################变更点 news_df = GetOnePageInfo(url) news_dfs = news_dfs.append(news_df) news_dfs['Pubtime'] = pd.to_datetime(news_dfs['Pubtime']) print("第{}页爬取完成".format(i)) except: failures += 1 count += 1 print("模块运行失败,正在重试...") time.sleep(5) if count == 5: break # 当计数器达到 5 时,退出整个 for 循环 continue else: break if news_dfs['Pubtime'].min() < pd.to_datetime('2022-06-01'): break如何设置cintinye失败10次后就停止整个循环执行下面的模块
时间: 2024-03-19 12:46:26 浏览: 17
你可以在while循环中添加一个计数器,每次出现异常时计数器加1,当计数器达到10时,使用break终止整个for循环,然后继续执行下面的模块。代码示例如下:
```python
failures = 0
for i in range(1,10000):
count = 0
while True:
try:
page = i
url = URL.format(page)
news_df = GetOnePageInfo(url)
news_dfs = news_dfs.append(news_df)
news_dfs['Pubtime'] = pd.to_datetime(news_dfs['Pubtime'])
print("第{}页爬取完成".format(i))
break
except:
failures += 1
count += 1
print("模块运行失败,正在重试...")
time.sleep(5)
if count == 10:
break # 当计数器达到 10 时,退出整个 for 循环
if count == 10:
break
if news_dfs['Pubtime'].min() < pd.to_datetime('2022-06-01'):
break
```
这样,当连续出现10次异常时,就会终止整个for循环,然后执行下面的模块。