# -*- coding: utf-8 -*- # @Author: wangkun # @Time: 2023/3/15 import argparse import datetime import os import sys import time sys.path.append(os.getcwd()) from common.common import Common from xiaoniangao.xiaoniangao_hour.xiaoniangao_hour import XiaoniangaoHour def main(log_type, crawler, strategy, oss_endpoint, env, machine): while True: # 今天的日期:年-月-日 today = datetime.datetime.now().strftime("%Y/%m/%d") # 昨天 yesterday = (datetime.date.today() + datetime.timedelta(days=-1)).strftime("%Y/%m/%d") # 前天 before_yesterday = (datetime.date.today() + datetime.timedelta(days=-2)).strftime("%Y/%m/%d") Common.logger(log_type, crawler).info("检查今日上升榜日期是否存在") XiaoniangaoHour.check_data(log_type, crawler, today) while True: # 获取符合规则的视频,写入小时级数据_feeds XiaoniangaoHour.get_videoList(log_type, crawler, env, machine) now = datetime.datetime.now() if now.hour == 10 and 0 <= now.minute <= 10: Common.logger(log_type, crawler).info("开始更新上升榜") XiaoniangaoHour.update_videoList(log_type, crawler, today, yesterday, before_yesterday) Common.logger(log_type, crawler).info("开始下载上升榜") XiaoniangaoHour.download_publish(log_type, crawler, strategy, oss_endpoint, env, machine) elif now.hour == 15 and now.minute <= 10: Common.logger(log_type, crawler).info("开始更新上升榜") XiaoniangaoHour.update_videoList(log_type, crawler, today, yesterday, before_yesterday) Common.logger(log_type, crawler).info("开始下载上升榜") XiaoniangaoHour.download_publish(log_type, crawler, strategy, oss_endpoint, env, machine) elif now.hour == 20 and now.minute <= 10: Common.logger(log_type, crawler).info("开始更新上升榜") XiaoniangaoHour.update_videoList(log_type, crawler, today, yesterday, before_yesterday) Common.logger(log_type, crawler).info("开始下载上升榜") XiaoniangaoHour.download_publish(log_type, crawler, strategy, oss_endpoint, env, machine) elif 1 >= now.hour >= 0: time.sleep(3600) break if __name__ == "__main__": parser = argparse.ArgumentParser() ## 新建参数解释器对象 parser.add_argument('--log_type', type=str) ## 添加参数,注明参数类型 parser.add_argument('--crawler') ## 添加参数 parser.add_argument('--strategy') ## 添加参数 parser.add_argument('--oss_endpoint') ## 添加参数 parser.add_argument('--env') ## 添加参数 parser.add_argument('--machine') ## 添加参数 args = parser.parse_args() ### 参数赋值,也可以通过终端赋值 main(log_type=args.log_type, crawler=args.crawler, strategy=args.strategy, oss_endpoint=args.oss_endpoint, env=args.env, machine=args.machine)