run_youtube_follow_scheduling.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # -*- coding: utf-8 -*-
  2. # @Author: lierqiang
  3. # @Time: 2023/3/15
  4. import argparse
  5. import os
  6. import sys
  7. sys.path.append(os.getcwd())
  8. from common.common import Common
  9. from youtube.youtube_follow.youtube_follow_scheduleing import Follow
  10. def main(log_type, crawler, task, oss_endpoint, env):
  11. task = dict(eval(task))
  12. Common.logger(log_type, crawler).info(f"{type(task)}\n")
  13. Common.logger(log_type, crawler).info(f"{task}\n")
  14. try:
  15. Common.logger(log_type, crawler).info('开始抓取 youtube视频 定向榜\n')
  16. Follow.get_follow_videos(log_type=log_type,
  17. crawler=crawler,
  18. task=task,
  19. oss_endpoint=oss_endpoint,
  20. env=env,
  21. )
  22. Common.del_logs(log_type, crawler)
  23. Common.logger(log_type, crawler).info('抓取任务结束\n')
  24. except Exception as e:
  25. Common.logger(log_type, crawler).info(f"youtube视频异常,触发报警:{e}\n")
  26. # Feishu.bot(log_type, crawler, f"{e}")
  27. if __name__ == "__main__":
  28. parser = argparse.ArgumentParser() ## 新建参数解释器对象
  29. parser.add_argument('--log_type',default='follow', type=str) ## 添加参数,注明参数类型
  30. parser.add_argument('--crawler', default='youtube') ## 添加参数
  31. parser.add_argument('--strategy',default='定向') ## 添加参数
  32. parser.add_argument('--task',default="[('task_id','27'),('task_name','youtube测试'),('source','youtube'),('next_time','1678809600'),('interval_piaoquan','36000'),('play_cnt',{'min':100}),('video_width',{'min':100}),('video_height',{'min':100}),('video_like',{'min':100}),('share_cnt',{'min':1}),('duration_min',1),('duration_max',300),('task_type','author'),('spider_link',['https://www.youtube.com/@weitravel/videos']),('spider_name','run_youtube_follw'),('min_publish_time','0'),('min_publish_day','0'),('media_id','0'),('applets_status','0'),('app_status','0'),('user_tag','视频号定向爬虫'),('user_content_tag','搞笑'),('machine','hk')]") ## 添加参数
  33. parser.add_argument('--oss_endpoint',default='out') ## 添加参数
  34. parser.add_argument('--env',default='dev') ## 添加参数
  35. # parser.add_argument('--machine') ## 添加参数
  36. args = parser.parse_args() ### 参数赋值,也可以通过终端赋值
  37. main(log_type=args.log_type,
  38. crawler=args.crawler,
  39. task=args.task,
  40. oss_endpoint=args.oss_endpoint,
  41. env=args.env,
  42. #machine=args.machine
  43. )