用当前时间和设定的时间比较判断
import time
#设置定时 def main(h, m): while True: now = datetime.datetime.now() #获取当前时间 print (now.hour, now.minute) #判断时间 if now.hour in h and now.minute in m: doSth() time.sleep(60) if __name__ ==‘__main__‘: main(h=[8,10,12,14,16,18,20], m=[0,30])
直接使用timer类
import time
import os
while 1:
os.system("scrapy crawl News")
time.sleep(86400)
使用sched
import sched
# 初始化sched模块的scheduler类
# 第一个参数是一个可以返回时间戳的函数,第二个参数可以定时未到之前阻塞
schedule = sched.scheduler(time.time, time.sleep)
#被周期性调度出发的函数
def fun():
os.system("scrapy crawl News")
def perform1(inc):
schedule.enter(inc,0, perform1, (inc,))
func() # 需要周期执行函数
def mymain():
schedule.enter(0,0, perform1, (86400))
if __name__ = "__main__":
mymain()
schedule.run() # 开始运行,直到计划时间队列变为空为止
使用Crontab实现Scrapy爬虫的定时执行
0 */24 * * * cd /data/spider && scrapy crawl article
‘*/xx’等价于‘*’表示每xx小时执行一次
原文:https://www.cnblogs.com/wenm1128/p/11776895.html