# -*- coding: utf-8 -*- # @Author: wangkun # @Time: 2022/3/30 import os import random import sys import time from apscheduler.schedulers.blocking import BlockingScheduler sys.path.append(os.getcwd()) from main.common import Common from main.download_weishi import Weishi from main.download_kuaishou import KuaiShou def kuaishou_dev_job(): """ 执行测试环境快手脚本 """ while True: # 当天下载及上传的视频数:20 条 if len(KuaiShou.download_video_list) >= 20: time.sleep(60) break else: Common.crawler_log().info("开始抓取快手视频") time.sleep(1) # 抓取符合规则的视频,写入 kuaishou_feeds.txt KuaiShou.kuaishou_get_recommend() # 下载视频,并上传 KuaiShou.kuaishou_download_play_video("dev") # 随机睡眠1-3s time.sleep(random.randint(1, 3)) # 删除冗余日志 Common.del_logs() # 统计下载视频数 Common.kuaishou_download_count() def weishi_dev_job(): """ 执行测试环境微视脚本 """ while True: if 14 >= Common.now.hour >= 5: Common.crawler_log().info("结束抓取及上传任务") break else: # 抓取符合规则的视频,写入 weishi_feeds.txt Weishi.get_weishi_recommend() # 下载视频,并上传 Weishi.download_weishi_play_video("dev") # 随机睡眠1-3s time.sleep(random.randint(1, 3)) # 删除冗余日志 Common.del_logs() # 统计下载视频数 Common.weishi_download_count() def main_dev(): """ 测试环境主函数 """ scheduler = BlockingScheduler(timezone="Asia/Shanghai") # 抓取视频的定时任务,在每天10点的40分,运行一次 job 方法 scheduler.add_job(kuaishou_dev_job, 'cron', hour=19, minute=10, misfire_grace_time=60) # 开始运行脚本 scheduler.start() def kuaishou_prod_job(): """ 执行正式环境快手脚本 """ while True: # 当天下载及上传的视频数:200 条 if len(KuaiShou.download_video_list) >= 200: time.sleep(60) break else: Common.crawler_log().info("开始抓取快手视频") time.sleep(1) # 抓取符合规则的视频,写入 kuaishou_feeds.txt KuaiShou.kuaishou_get_recommend() # 下载视频,并上传 KuaiShou.kuaishou_download_play_video("prod") # 随机睡眠1-3s time.sleep(random.randint(1, 3)) # 删除冗余日志 Common.del_logs() # 统计下载视频数 Common.kuaishou_download_count() def weishi_prod_job(): """ 执行正式环境微视脚本 """ while True: if 20 >= Common.now.hour >= 5: Common.crawler_log().info("结束抓取微视视频任务") break else: # 抓取符合规则的视频,写入 weishi_feeds.txt Weishi.get_weishi_recommend() # 下载视频,并上传 Weishi.download_weishi_play_video("prod") # 随机睡眠1-3s time.sleep(random.randint(1, 3)) # 删除冗余日志 Common.del_logs() # 统计下载视频数 Common.weishi_download_count() def main_prod(): """ 正式环境主函数 """ scheduler = BlockingScheduler(timezone="Asia/Shanghai") # 抓取视频的定时任务,在每天10点的40分,运行一次 job 方法 scheduler.add_job(kuaishou_prod_job, 'cron', hour=8, minute=00, misfire_grace_time=60) # 开始运行脚本 scheduler.start() if __name__ == "__main__": # main_dev() main_prod()