data_assign_main.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. from common import Material
  2. from extract_data.douyin.douyin_author import douyinAuthor
  3. from extract_data.kuaishou.kuaishou_author import kuaishouAuthor
  4. from extract_data.zhannei.zhannei_author import ZhanNeiAuthor
  5. import schedule
  6. import time
  7. import concurrent.futures
  8. def douyin_start(user_data):
  9. print(f"执行抖音数据抓取{user_data}")
  10. douyinAuthor.get_videoList(user_data)
  11. def kuaishou_start(user_data):
  12. print(f"执行快手数据抓取{user_data}")
  13. kuaishouAuthor.get_kuaishou_videoList(user_data)
  14. def zhannei_start(user_data):
  15. print(f"执行站内数据抓取{user_data}")
  16. ZhanNeiAuthor.get_zhannei_videoList(user_data)
  17. # data = Material.get_all_gs_user("douyin")
  18. # douyin_start(data[0])
  19. # 定义定时任务
  20. def zhannei_task():
  21. data = Material.get_all_gs_user("zhannei")
  22. # 创建一个线程池
  23. with concurrent.futures.ThreadPoolExecutor() as executor:
  24. futures = [executor.submit(zhannei_start, user_data) for user_data in data]
  25. # 等待所有任务执行完成
  26. for future in concurrent.futures.as_completed(futures):
  27. # 获取每个任务的执行结果
  28. result = future.result()
  29. print("处理结果:", result)
  30. print("抖音数据抓取定时任务执行完成")
  31. # 定义定时任务
  32. def douyin_task():
  33. data = Material.get_all_gs_user("douyin")
  34. # 创建一个线程池
  35. with concurrent.futures.ThreadPoolExecutor() as executor:
  36. futures = [executor.submit(kuaishou_start, user_data) for user_data in data]
  37. # 等待所有任务执行完成
  38. for future in concurrent.futures.as_completed(futures):
  39. # 获取每个任务的执行结果
  40. result = future.result()
  41. print("处理结果:", result)
  42. print("抖音数据抓取定时任务执行完成")
  43. # 定义定时任务
  44. def kuanshou_task():
  45. data = Material.get_all_gs_user("kuaishou")
  46. # 创建一个线程池
  47. with concurrent.futures.ThreadPoolExecutor() as executor:
  48. futures = [executor.submit(kuaishou_start, user_data) for user_data in data]
  49. # 等待所有任务执行完成
  50. for future in concurrent.futures.as_completed(futures):
  51. # 获取每个任务的执行结果
  52. result = future.result()
  53. print("处理结果:", result)
  54. print("快手数据抓取定时任务执行完成.")
  55. schedule.every().day.at("19:05").do(kuanshou_task)
  56. schedule.every().day.at("19:05").do(douyin_task)
  57. schedule.every().day.at("18:00").do(zhannei_task)
  58. # 持续运行,直到手动终止
  59. while True:
  60. schedule.run_pending()
  61. time.sleep(1)