12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- from common import AliyunLogger, Material
- from common.sql_help import sqlCollect
- class SPHLS:
- @classmethod
- def get_sphls_data(cls, task_mark, url, number, mark, channel_id, name):
- data_list = sqlCollect.sph_data_info_list(url)
- list = []
- if data_list:
- for data in data_list:
- video_id = data[0]
- day_count = Material.get_count_restrict(channel_id)
- if day_count:
- status = sqlCollect.is_used_days(video_id, mark, "视频号历史", day_count)
- else:
- status = sqlCollect.is_used(video_id, mark, "视频号历史")
- old_title = data[1]
- share_cnt = int(data[2])
- like_cnt = int(data[3])
- oss_url = data[4]
- oss_cover = data[5]
- duration = int(float(data[6]))
- 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}"
- AliyunLogger.logging(channel_id, name, url, video_id, "扫描到一条视频", "2001", log_data)
- if status:
- AliyunLogger.logging(channel_id, name, url, video_id, "该视频已改造过", "2002", log_data)
- continue
- if share_cnt < 300:
- AliyunLogger.logging(channel_id, name, url, video_id, "不符合规则:分享小于300", "2003", log_data)
- continue
- if share_cnt < like_cnt:
- AliyunLogger.logging(channel_id, name, url, video_id, "不符合规则:分享小于点赞", "2003", log_data)
- continue
- if duration < 30 or duration > 720:
- AliyunLogger.logging(channel_id, name, url, video_id, "不符合规则:时长不符合规则大于720秒/小于30秒", "2003",
- log_data)
- continue
- all_data = {"video_id": video_id, "cover": oss_cover, "video_url": oss_url, "rule": '',
- "old_title": old_title}
- list.append(all_data)
- AliyunLogger.logging(channel_id, name, url, video_id, "符合规则等待改造", "2004", log_data)
- if len(list) == int(number):
- return list
- return list
- else:
- return list
- if __name__ == '__main__':
- SPHLS.get_sphls_data(1,2,3,4)
|