123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- # -*- 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()
|