run.py 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. # -*- coding: utf-8 -*-
  2. # @Author: wangkun
  3. # @Time: 2022/3/30
  4. import os
  5. import random
  6. import sys
  7. import time
  8. from apscheduler.schedulers.blocking import BlockingScheduler
  9. sys.path.append(os.getcwd())
  10. from main.common import Common
  11. from main.download_weishi import Weishi
  12. from main.download_kuaishou import KuaiShou
  13. def kuaishou_dev_job():
  14. """
  15. 执行测试环境快手脚本
  16. """
  17. while True:
  18. # 当天下载及上传的视频数:20 条
  19. if len(KuaiShou.download_video_list) >= 20:
  20. time.sleep(60)
  21. break
  22. else:
  23. Common.crawler_log().info("开始抓取快手视频")
  24. time.sleep(1)
  25. # 抓取符合规则的视频,写入 kuaishou_feeds.txt
  26. KuaiShou.kuaishou_get_recommend()
  27. # 下载视频,并上传
  28. KuaiShou.kuaishou_download_play_video("dev")
  29. # 随机睡眠1-3s
  30. time.sleep(random.randint(1, 3))
  31. # 删除冗余日志
  32. Common.del_logs()
  33. # 统计下载视频数
  34. Common.kuaishou_download_count()
  35. def weishi_dev_job():
  36. """
  37. 执行测试环境微视脚本
  38. """
  39. while True:
  40. if 14 >= Common.now.hour >= 5:
  41. Common.crawler_log().info("结束抓取及上传任务")
  42. break
  43. else:
  44. # 抓取符合规则的视频,写入 weishi_feeds.txt
  45. Weishi.get_weishi_recommend()
  46. # 下载视频,并上传
  47. Weishi.download_weishi_play_video("dev")
  48. # 随机睡眠1-3s
  49. time.sleep(random.randint(1, 3))
  50. # 删除冗余日志
  51. Common.del_logs()
  52. # 统计下载视频数
  53. Common.weishi_download_count()
  54. def main_dev():
  55. """
  56. 测试环境主函数
  57. """
  58. scheduler = BlockingScheduler(timezone="Asia/Shanghai")
  59. # 抓取视频的定时任务,在每天10点的40分,运行一次 job 方法
  60. scheduler.add_job(kuaishou_dev_job, 'cron', hour=19, minute=10, misfire_grace_time=60)
  61. # 开始运行脚本
  62. scheduler.start()
  63. def kuaishou_prod_job():
  64. """
  65. 执行正式环境快手脚本
  66. """
  67. while True:
  68. # 当天下载及上传的视频数:200 条
  69. if len(KuaiShou.download_video_list) >= 200:
  70. time.sleep(60)
  71. break
  72. else:
  73. Common.crawler_log().info("开始抓取快手视频")
  74. time.sleep(1)
  75. # 抓取符合规则的视频,写入 kuaishou_feeds.txt
  76. KuaiShou.kuaishou_get_recommend()
  77. # 下载视频,并上传
  78. KuaiShou.kuaishou_download_play_video("prod")
  79. # 随机睡眠1-3s
  80. time.sleep(random.randint(1, 3))
  81. # 删除冗余日志
  82. Common.del_logs()
  83. # 统计下载视频数
  84. Common.kuaishou_download_count()
  85. def weishi_prod_job():
  86. """
  87. 执行正式环境微视脚本
  88. """
  89. while True:
  90. if 20 >= Common.now.hour >= 5:
  91. Common.crawler_log().info("结束抓取微视视频任务")
  92. break
  93. else:
  94. # 抓取符合规则的视频,写入 weishi_feeds.txt
  95. Weishi.get_weishi_recommend()
  96. # 下载视频,并上传
  97. Weishi.download_weishi_play_video("prod")
  98. # 随机睡眠1-3s
  99. time.sleep(random.randint(1, 3))
  100. # 删除冗余日志
  101. Common.del_logs()
  102. # 统计下载视频数
  103. Common.weishi_download_count()
  104. def main_prod():
  105. """
  106. 正式环境主函数
  107. """
  108. scheduler = BlockingScheduler(timezone="Asia/Shanghai")
  109. # 抓取视频的定时任务,在每天10点的40分,运行一次 job 方法
  110. scheduler.add_job(kuaishou_prod_job, 'cron', hour=8, minute=00, misfire_grace_time=60)
  111. # 开始运行脚本
  112. scheduler.start()
  113. if __name__ == "__main__":
  114. # main_dev()
  115. main_prod()