这篇文章给大家分享的是有关python定时爬虫启用时怎么减少内存的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
目前成都创新互联已为上千多家的企业提供了网站建设、域名、虚拟空间、成都网站托管、企业网站设计、灵石网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
我们在同时处理多个事情的时候,可能同时打开浏览器、办公软件等不同的几个程序,一旦过多电脑运行就会变慢。要是还不断地加入新的程序,电脑就会卡的动不了,然后宣布它不跟我们玩了。我们定时获取数据的时候,程序启动的也是非常多的,而且还不断有新的数据获取保存下来,那么我们有没有什么方法可以减少程序运行所占有的cpu率呢?
现在需要启动一个selenium的爬虫,使用火狐驱动+多线程,大家都明白的,现在电脑管家显示CPU占用率20%,启动selenium后不停的开启浏览器+多线程。
没过5分钟,CPU占用率直接拉到90%+,电脑卡到飞起,定时程序虽然还在运行,但是已经类似于待机状态。
代码解决:
from datetime import datetime from threading import Timer import time # 定时任务 def task(): print(datetime.now().strftime("%Y-%m-%d %H:%M:%S")) def timedTask(): ''' 第一个参数: 延迟多长时间执行任务(秒) 第二个参数: 要执行的函数 第三个参数: 调用函数的参数(tuple) ''' Timer(5, task, ()).start() while True: timedTask() time.sleep(5)
7行代码,是不是很优雅?
2020-06-05 14:06:39 2020-06-05 14:06:44 2020-06-05 14:06:49 2020-06-05 14:06:54 2020-06-05 14:06:59 2020-06-05 14:07:04 2020-06-05 14:07:09 2020-06-05 14:07:14 2020-06-05 14:07:19 2020-06-05 14:07:24
感谢各位的阅读!关于python定时爬虫启用时怎么减少内存就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!