run_gongzhonghao2_author_scheduling.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # -*- coding: utf-8 -*-
  2. # @Author: wangkun
  3. # @Time: 2023/4/23
  4. import argparse
  5. import os
  6. import sys
  7. import time
  8. sys.path.append(os.getcwd())
  9. from common.public import task_fun
  10. from common.common import Common
  11. from gongzhonghao.gongzhonghao_author.gongzhonghao2_author import GongzhonghaoAuthor2
  12. def main(log_type, crawler, task, env):
  13. while True:
  14. cmd = 'ps -ef | grep "run_gongzhonghao2_author_scheduling.py" | grep -v "grep"'
  15. result = os.popen(cmd).read()
  16. Common.logger(log_type, crawler).info(f"len_result:{len(result)}")
  17. if len(result) > 573:
  18. Common.logger(log_type, crawler).info("公众号_2抓取未完成,无需启动新进程")
  19. time.sleep(1)
  20. else:
  21. break
  22. task_dict = task_fun(task)['task_dict']
  23. rule_dict = task_fun(task)['rule_dict']
  24. Common.logger(log_type, crawler).info(f"调度任务:{task_dict}")
  25. Common.logger(log_type, crawler).info(f"抓取规则:{rule_dict}\n")
  26. Common.logger(log_type, crawler).info(f'开始抓取 {task_dict["task_name"]} 定向榜\n')
  27. GongzhonghaoAuthor2.get_all_videos(log_type=log_type,
  28. crawler=crawler,
  29. rule_dict=rule_dict,
  30. env=env)
  31. Common.del_logs(log_type, crawler)
  32. Common.logger(log_type, crawler).info('抓取完一轮\n')
  33. if __name__ == "__main__":
  34. parser = argparse.ArgumentParser() ## 新建参数解释器对象
  35. parser.add_argument('--log_type', type=str) ## 添加参数,注明参数类型
  36. parser.add_argument('--crawler') ## 添加参数
  37. parser.add_argument('--task') ## 添加参数
  38. parser.add_argument('--env') ## 添加参数
  39. args = parser.parse_args() ### 参数赋值,也可以通过终端赋值
  40. main(log_type=args.log_type,
  41. crawler=args.crawler,
  42. task=args.task,
  43. env=args.env)