sph_ls.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. from common import AliyunLogger
  2. from common.sql_help import sqlCollect
  3. class SPHLS:
  4. @classmethod
  5. def get_sphls_data(cls, task_mark, url, number, mark, channel_id, name):
  6. data_list = sqlCollect.sph_data_info_list(url)
  7. list = []
  8. if data_list:
  9. for data in data_list:
  10. video_id = data[0]
  11. status = sqlCollect.is_used(task_mark,video_id, mark, "视频号历史")
  12. old_title = data[1]
  13. share_cnt = int(data[2])
  14. like_cnt = int(data[3])
  15. oss_url = data[4]
  16. oss_cover = data[5]
  17. duration = int(float(data[6]))
  18. log_data = f"user:{url},,video_id:{video_id},,video_url:{oss_url},,original_title:{old_title},,share_count:{share_cnt},,like_count:{like_cnt},,duration:{duration}"
  19. AliyunLogger.logging(channel_id, name, url, video_id, "扫描到一条视频", "2001", log_data)
  20. if status:
  21. AliyunLogger.logging(channel_id, name, url, video_id, "该视频已改造过", "2002", log_data)
  22. continue
  23. if share_cnt < 300:
  24. AliyunLogger.logging(channel_id, name, url, video_id, "不符合规则:分享小于300", "2003", log_data)
  25. continue
  26. if share_cnt < like_cnt:
  27. AliyunLogger.logging(channel_id, name, url, video_id, "不符合规则:分享小于点赞", "2003", log_data)
  28. continue
  29. if duration < 30 or duration > 720:
  30. AliyunLogger.logging(channel_id, name, url, video_id, "不符合规则:时长不符合规则大于720秒/小于30秒", "2003",
  31. log_data)
  32. continue
  33. all_data = {"video_id": video_id, "cover": oss_cover, "video_url": oss_url, "rule": '',
  34. "old_title": old_title}
  35. list.append(all_data)
  36. AliyunLogger.logging(channel_id, name, url, video_id, "符合规则等待改造", "2004", log_data)
  37. if len(list) == int(number):
  38. return list
  39. return list
  40. else:
  41. return list
  42. if __name__ == '__main__':
  43. SPHLS.get_sphls_data(1,2,3,4)