爬取猫眼电影榜单之实现定时任务

版权声明:个人博客:yjz.life 欢迎前来交流!~本篇文章未经同意请勿转载! https://blog.csdn.net/m0_38072683/article/details/83351950

起因是今天在扩展爬虫的时候,想实现定时爬虫的功能

于是今天就先用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()

猜你喜欢

转载自blog.csdn.net/m0_38072683/article/details/83351950