for i in range(1,10000): 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: print("模块运行失败,正在重试...") time.sleep(5) continue else: break if news_dfs['Pubtime'].min() < pd.to_datetime('2022-06-01'): break如何设置continue失败5次后就停止整个循环继续执行下面的模块
时间: 2024-02-10 11:14:31 浏览: 62
你可以在while循环中添加一个计数器,每次出现异常时计数器加1,当计数器达到5时,使用break终止当前的while循环,然后继续执行下面的模块。代码示例如下:
```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:
count += 1
print("模块运行失败,正在重试...")
time.sleep(5)
if count == 5:
break # 当计数器达到 5 时,退出当前的 while 循环
if count == 5:
continue # 继续执行下一个 i 的循环
if news_dfs['Pubtime'].min() < pd.to_datetime('2022-06-01'):
break
```
这样,当连续出现5次异常时,就会终止当前的while循环,然后继续执行下一个i的循环,直到完成所有的循环或者满足跳出条件。
阅读全文