data_main.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. from common import Material, Feishu
  2. from extract_data.douyin.douyin_author import douyinAuthor
  3. from extract_data.kuaishou.kuaishou_author import kuaishouAuthor
  4. import schedule
  5. import time
  6. import concurrent.futures
  7. # 定义读取表格的函数
  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. # 定义定时任务
  15. def douyin_task():
  16. data = Material.get_all_user("douyin")
  17. # 创建一个线程池
  18. with concurrent.futures.ThreadPoolExecutor() as executor:
  19. futures = [executor.submit(douyin_start, user_data) for user_data in data]
  20. # 等待所有任务执行完成
  21. for future in concurrent.futures.as_completed(futures):
  22. # 获取每个任务的执行结果
  23. result = future.result()
  24. print("处理结果:", result)
  25. print("抖音数据抓取定时任务执行完成")
  26. # 定义定时任务
  27. def kuanshou_task():
  28. data = Material.get_all_user("kuaishou")
  29. # 创建一个线程池
  30. with concurrent.futures.ThreadPoolExecutor() as executor:
  31. futures = [executor.submit(kuaishou_start, user_data) for user_data in data]
  32. # 等待所有任务执行完成
  33. for future in concurrent.futures.as_completed(futures):
  34. # 获取每个任务的执行结果
  35. result = future.result()
  36. print("处理结果:", result)
  37. print("快手数据抓取定时任务执行完成.")
  38. # schedule.every(2).minutes.do(douyin_task)
  39. #
  40. # schedule.every(2).minutes.do(kuanshou_task)
  41. schedule.every(8).hours.do(douyin_task)
  42. schedule.every(8).hours.do(kuanshou_task)
  43. # 持续运行,直到手动终止
  44. while True:
  45. schedule.run_pending()
  46. time.sleep(1)