run_person_list.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. # -*- coding: utf-8 -*-
  2. # @Author: wangkun
  3. # @Time: 2022/5/18
  4. import datetime
  5. from datetime import timedelta
  6. import os
  7. # import random
  8. import sys
  9. import time
  10. sys.path.append(os.getcwd())
  11. from main.common import Common
  12. from main.person_list import Person
  13. def person_list_job():
  14. while True:
  15. Common.person_logger().info("开始抓取小年糕关注榜")
  16. # 关注用户列表
  17. Person.sub_persons()
  18. time.sleep(1)
  19. # 取消关注用户
  20. Person.unsub_persons()
  21. time.sleep(1)
  22. while True:
  23. # 前天 <class 'str'> 2022-04-13
  24. before_yesterday = (datetime.date.today() + timedelta(days=-2)).strftime("%Y/%m/%d %H:%M:%S")
  25. before_yesterday = time.strptime(before_yesterday, "%Y/%m/%d %H:%M:%S")
  26. before_yesterday = int(time.mktime(before_yesterday))*1000
  27. # 任务结束时间:小于 2022年5月18日
  28. # endtime = 1652803200000
  29. endtime = before_yesterday
  30. person_list_time = datetime.datetime.now()
  31. if Person.download_from_sub(endtime) >= endtime:
  32. Person.download_from_sub(endtime)
  33. elif person_list_time.hour == 23 and person_list_time.minute >= 50:
  34. Common.person_logger().info("结束今日抓取任务")
  35. Person.next_t_list = [-1]
  36. break
  37. else:
  38. Common.person_logger().info("发布时间大于48小时,结束抓取任务")
  39. time.sleep(3)
  40. Person.next_t_list = [-1]
  41. break
  42. if __name__ == "__main__":
  43. person_list_job()