我需要一些一个会自动停下来的程序,因为有时候一直爬取某个网站,会引起对方网站的反爬,所以有时候需要停下来,休息一段时间。
先写一个简单的写法,我让程序每隔半秒钟,就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() 将时间差转为秒,方便计算分钟或小时。
这个方法适适合爬取的时候,需要控制爬取时长。

3537

被折叠的 条评论
为什么被折叠?



