python定時爬蟲啟用時如何減少記憶體?

ldzsl發表於2021-09-11

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學習指路:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2325/viewspace-2832026/,如需轉載,請註明出處,否則將追究法律責任。

相關文章