【Python】给程序的循环加一个运行定时,让它运行一个小时就停止程序

我需要一些一个会自动停下来的程序,因为有时候一直爬取某个网站,会引起对方网站的反爬,所以有时候需要停下来,休息一段时间。

先写一个简单的写法,我让程序每隔半秒钟,就print一个数字出来,然后大概超过5秒钟,for循环就结束。

start_time=datetime.datetime.now()
print(start_time)

for i in range(1000): 
    nowtime=datetime.datetime.now()
    
    if  (nowtime - start_time).total_seconds() > 5: #一旦超过5秒,就停下来
       break
    else:
       print(i)
       sleep(0.5)

最后的结果确实是到了第10个数字之后就停下来了。

如果我们想要将定时变成【分钟】或者【时钟】,那么可以用替换成:

(nowtime - start_time).total_seconds() / 60

替换过后,上面的判断相当于是每隔多少分钟就停下来的。

这里的.total_seconds() 将时间差转为秒,方便计算分钟或小时。

这个方法适适合爬取的时候,需要控制爬取时长。

posted on 2025-07-09 16:29  梅格安小姐  阅读(45)  评论(0)    收藏  举报