run.py 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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 weishi_prod_job():
  64. """
  65. 执行正式环境微视脚本
  66. """
  67. while True:
  68. if 20 >= Common.now.hour >= 5:
  69. Common.crawler_log().info("结束抓取微视视频任务")
  70. break
  71. else:
  72. # 抓取符合规则的视频,写入 weishi_feeds.txt
  73. Weishi.get_weishi_recommend()
  74. # 下载视频,并上传
  75. Weishi.download_weishi_play_video("prod")
  76. # 随机睡眠1-3s
  77. time.sleep(random.randint(1, 3))
  78. # 删除冗余日志
  79. Common.del_logs()
  80. # 统计下载视频数
  81. Common.weishi_download_count()
  82. def kuaishou_prod_job():
  83. """
  84. 执行正式环境快手脚本
  85. """
  86. # while True:
  87. # # 当天下载及上传的视频数:200 条
  88. # if len(KuaiShou.download_video_list) >= 200:
  89. # time.sleep(60)
  90. # break
  91. # else:
  92. Common.crawler_log().info("开始抓取快手视频")
  93. # 抓取符合规则的视频,写入 kuaishou_feeds.txt
  94. KuaiShou.kuaishou_get_recommend()
  95. # 下载视频,并上传
  96. KuaiShou.kuaishou_download_play_video("prod")
  97. # 随机睡眠1-3s
  98. time.sleep(random.randint(1, 3))
  99. # 删除冗余日志
  100. Common.del_logs()
  101. # 统计下载视频数
  102. Common.kuaishou_download_count()
  103. def main_prod():
  104. """
  105. 正式环境主函数
  106. """
  107. while True:
  108. kuaishou_prod_job()
  109. # scheduler = BlockingScheduler(timezone="Asia/Shanghai")
  110. # # 抓取视频的定时任务,在每天10点的40分,运行一次 job 方法
  111. # scheduler.add_job(kuaishou_prod_job, 'cron', hour=8, minute=00, misfire_grace_time=60)
  112. # # 开始运行脚本
  113. # scheduler.start()
  114. if __name__ == "__main__":
  115. # main_dev()
  116. main_prod()