# -*- coding: utf-8 -*- # @Author: lierqiang # @Time: 2023/3/15 import argparse import os import sys sys.path.append(os.getcwd()) from common.common import Common from youtube.youtube_follow.youtube_follow_scheduleing import Follow def main(log_type, crawler, task, oss_endpoint, env): task = dict(eval(task)) Common.logger(log_type, crawler).info(f"{type(task)}\n") Common.logger(log_type, crawler).info(f"{task}\n") try: Common.logger(log_type, crawler).info('开始抓取 youtube视频 定向榜\n') Follow.get_follow_videos(log_type=log_type, crawler=crawler, task=task, oss_endpoint=oss_endpoint, env=env, ) Common.del_logs(log_type, crawler) Common.logger(log_type, crawler).info('抓取任务结束\n') except Exception as e: Common.logger(log_type, crawler).info(f"youtube视频异常,触发报警:{e}\n") # Feishu.bot(log_type, crawler, f"{e}") if __name__ == "__main__": parser = argparse.ArgumentParser() ## 新建参数解释器对象 parser.add_argument('--log_type',default='follow', type=str) ## 添加参数,注明参数类型 parser.add_argument('--crawler', default='youtube') ## 添加参数 parser.add_argument('--strategy',default='定向') ## 添加参数 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')]") ## 添加参数 parser.add_argument('--oss_endpoint',default='out') ## 添加参数 parser.add_argument('--env',default='dev') ## 添加参数 # parser.add_argument('--machine') ## 添加参数 args = parser.parse_args() ### 参数赋值,也可以通过终端赋值 main(log_type=args.log_type, crawler=args.crawler, task=args.task, oss_endpoint=args.oss_endpoint, env=args.env, #machine=args.machine )