sph_ls.py 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. from common import Common, 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. Common.logger("sph-ls").info(
  19. f"扫描:{task_mark},用户主页id:{url},视频id{video_id} ,分享:{share_cnt},点赞:{like_cnt},时长:{duration}")
  20. 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}"
  21. AliyunLogger.logging(channel_id, name, url, video_id, "扫描到一条视频", "2001", log_data)
  22. if status:
  23. AliyunLogger.logging(channel_id, name, url, video_id, "该视频已改造过", "2002", log_data)
  24. continue
  25. if share_cnt < 300:
  26. AliyunLogger.logging(channel_id, name, url, video_id, "不符合规则:分享小于300", "2003", log_data)
  27. Common.logger("sph-ls").info(
  28. f"任务:{task_mark},用户主页id:{url},视频id{video_id} ,分享:{share_cnt},点赞:{like_cnt} ,时长:{duration} ")
  29. continue
  30. if share_cnt < like_cnt:
  31. AliyunLogger.logging(channel_id, name, url, video_id, "不符合规则:分享小于点赞", "2003", log_data)
  32. Common.logger("sph-ls").info(
  33. f"任务:{task_mark},用户主页id:{url},视频id{video_id} ,分享:{share_cnt},点赞:{like_cnt} ,时长:{duration} ")
  34. continue
  35. if duration < 30 or duration > 720:
  36. AliyunLogger.logging(channel_id, name, url, video_id, "不符合规则:时长不符合规则大于720秒/小于30秒", "2003",
  37. log_data)
  38. Common.logger("sph-ls").info(
  39. f"任务:{task_mark},用户主页id:{url},视频id{video_id} ,分享:{share_cnt},点赞:{like_cnt} ,时长:{duration} ")
  40. continue
  41. all_data = {"video_id": video_id, "cover": oss_cover, "video_url": oss_url, "rule": '',
  42. "old_title": old_title}
  43. list.append(all_data)
  44. AliyunLogger.logging(channel_id, name, url, video_id, "符合规则等待改造", "2004", log_data)
  45. if len(list) == int(number):
  46. Common.logger("sph-ls").info(f"获取视频号视频总数:{len(list)}\n")
  47. return list
  48. return list
  49. else:
  50. Common.logger("sph-ls").info(f"{url}无数据\n")
  51. return list
  52. if __name__ == '__main__':
  53. SPHLS.get_sphls_data(1,2,3,4)