run_xiaoniangao_hour.py 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # -*- coding: utf-8 -*-
  2. # @Author: wangkun
  3. # @Time: 2023/3/15
  4. import argparse
  5. import datetime
  6. import os
  7. import sys
  8. import time
  9. sys.path.append(os.getcwd())
  10. from common.common import Common
  11. from xiaoniangao.xiaoniangao_hour.xiaoniangao_hour import XiaoniangaoHour
  12. def main(log_type, crawler, strategy, oss_endpoint, env, machine):
  13. while True:
  14. # 今天的日期:年-月-日
  15. today = datetime.datetime.now().strftime("%Y/%m/%d")
  16. # 昨天
  17. yesterday = (datetime.date.today() + datetime.timedelta(days=-1)).strftime("%Y/%m/%d")
  18. # 前天
  19. before_yesterday = (datetime.date.today() + datetime.timedelta(days=-2)).strftime("%Y/%m/%d")
  20. Common.logger(log_type, crawler).info("检查今日上升榜日期是否存在")
  21. XiaoniangaoHour.check_data(log_type, crawler, today)
  22. while True:
  23. # 获取符合规则的视频,写入小时级数据_feeds
  24. XiaoniangaoHour.get_videoList(log_type, crawler, env, machine)
  25. now = datetime.datetime.now()
  26. if now.hour == 10 and 0 <= now.minute <= 10:
  27. Common.logger(log_type, crawler).info("开始更新上升榜")
  28. XiaoniangaoHour.update_videoList(log_type, crawler, today, yesterday, before_yesterday)
  29. Common.logger(log_type, crawler).info("开始下载上升榜")
  30. XiaoniangaoHour.download_publish(log_type, crawler, strategy, oss_endpoint, env, machine)
  31. elif now.hour == 15 and now.minute <= 10:
  32. Common.logger(log_type, crawler).info("开始更新上升榜")
  33. XiaoniangaoHour.update_videoList(log_type, crawler, today, yesterday, before_yesterday)
  34. Common.logger(log_type, crawler).info("开始下载上升榜")
  35. XiaoniangaoHour.download_publish(log_type, crawler, strategy, oss_endpoint, env, machine)
  36. elif now.hour == 20 and now.minute <= 10:
  37. Common.logger(log_type, crawler).info("开始更新上升榜")
  38. XiaoniangaoHour.update_videoList(log_type, crawler, today, yesterday, before_yesterday)
  39. Common.logger(log_type, crawler).info("开始下载上升榜")
  40. XiaoniangaoHour.download_publish(log_type, crawler, strategy, oss_endpoint, env, machine)
  41. elif 1 >= now.hour >= 0:
  42. time.sleep(3600)
  43. break
  44. if __name__ == "__main__":
  45. parser = argparse.ArgumentParser() ## 新建参数解释器对象
  46. parser.add_argument('--log_type', type=str) ## 添加参数,注明参数类型
  47. parser.add_argument('--crawler') ## 添加参数
  48. parser.add_argument('--strategy') ## 添加参数
  49. parser.add_argument('--oss_endpoint') ## 添加参数
  50. parser.add_argument('--env') ## 添加参数
  51. parser.add_argument('--machine') ## 添加参数
  52. args = parser.parse_args() ### 参数赋值,也可以通过终端赋值
  53. main(log_type=args.log_type,
  54. crawler=args.crawler,
  55. strategy=args.strategy,
  56. oss_endpoint=args.oss_endpoint,
  57. env=args.env,
  58. machine=args.machine)