1. 程式人生 > >爬取貓眼電影榜單之實現定時任務

爬取貓眼電影榜單之實現定時任務

起因是今天在擴充套件爬蟲的時候,想實現定時爬蟲的功能

於是今天就先用Python中自帶的sched模組來實現一下:

實現定時任務
# -*-coding:utf-8 -*-
import os
import time
import sched
from basic.crawler import get
#生成排程器
schedule = sched.scheduler(time.time, time.sleep)

# 需要定時執行的函式
def func():
    get()

def main():
    # 第一個引數delay單位是s,第二個數值越小優先順序越大
# 該排程任務只能執行一次 #四個引數間隔事件、優先順序(用於同時間到達的兩個事件同時執行時定序)、被呼叫觸發的函式,給他的引數(注意:一定要以tuple給如,如果只有一個引數就(xx,)) schedule.enter(10, 0, func) schedule.run() if __name__ == '__main__': main()
實現定時迴圈任務
# -*-coding:utf-8 -*-
import os
import time
import sched
from basic.crawler import get

schedule =
sched.scheduler(time.time, time.sleep) # 需要定時執行的函式 def func(): # 這是我的爬蟲函式(在另一個.py檔案中寫著) get() # 實現迴圈呼叫,間隔10s,優先順序為0, schedule.enter(10, 0, func) def main(): # 第一個引數delay單位是s,第二個數值越小優先順序越大 #四個引數間隔事件、優先順序(用於同時間到達的兩個事件同時執行時定序)、被呼叫觸發的函式,給他的引數(注意:一定要以tuple給如,如果只有一個引數就(xx,)) schedule.
enter(10, 0, func) #注意sched模組不是迴圈的,一次排程被執行後就Over了,如果想再執行,請再次enter schedule.run() if __name__ == '__main__': main()