run_kanyikan_moment.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. # -*- coding: utf-8 -*-
  2. # @Author: wangkun
  3. # @Time: 2023/1/31
  4. """
  5. 看一看+小程序: 朋友圈榜单执行入口
  6. """
  7. import datetime
  8. import sys
  9. import os
  10. import time
  11. import argparse
  12. sys.path.append(os.getcwd())
  13. from common.common import Common
  14. from common.feishu import Feishu
  15. from kanyikan.kanyikan_moment.kanyikan_moment import Moment
  16. def main(log_type, crawler, strategy, oss_endpoint, env, machine):
  17. """
  18. 主函数入口
  19. :param log_type: 日志命名: monent
  20. :param crawler: 哪款爬虫: kanyikan
  21. :param strategy: 爬虫策略: kanyikan_moment
  22. :param machine: 爬虫运行机器,阿里云服务器: aliyun_hk / aliyun / macpro / macair / local
  23. :param env: 正式环境: prod;测试环境: dev
  24. :param oss_endpoint: 阿里云102服务器: inner ;其它: out
  25. :return: None
  26. """
  27. while True:
  28. if 1 >= datetime.datetime.now().hour >= 0:
  29. pass
  30. else:
  31. moment_video_list = Feishu.get_sheet_content(log_type, crawler, 'iK58HX')
  32. for moment_video_id in moment_video_list:
  33. Common.logger(log_type, crawler).info(f"开始抓取{moment_video_id}朋友圈推荐视频\n")
  34. Moment.get_videos(log_type, crawler, strategy, oss_endpoint, env, machine, moment_video_id)
  35. Common.del_logs(log_type, crawler)
  36. Common.logger(log_type, crawler).info("抓取完一轮,休眠 10 秒\n")
  37. time.sleep(10)
  38. if __name__ == "__main__":
  39. parser = argparse.ArgumentParser() ## 新建参数解释器对象
  40. parser.add_argument('--log_type', type=str) ## 添加参数,注明参数类型
  41. parser.add_argument('--crawler') ## 添加参数
  42. parser.add_argument('--strategy') ## 添加参数
  43. parser.add_argument('--our_uid') ## 添加参数
  44. parser.add_argument('--oss_endpoint') ## 添加参数
  45. parser.add_argument('--env') ## 添加参数
  46. parser.add_argument('--machine') ## 添加参数
  47. args = parser.parse_args() ### 参数赋值,也可以通过终端赋值
  48. # print(args)
  49. main(log_type=args.log_type,
  50. crawler=args.crawler,
  51. strategy=args.strategy,
  52. oss_endpoint=args.oss_endpoint,
  53. env=args.env,
  54. machine=args.machine)