爬取貓眼電影榜單之實現定時任務
阿新 • • 發佈:2019-01-13
起因是今天在擴充套件爬蟲的時候,想實現定時爬蟲的功能
於是今天就先用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()