from common import AliyunLogger 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] status = sqlCollect.is_used(task_mark,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)