from common import Common, 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])) Common.logger("sph-ls").info( f"扫描:{task_mark},用户主页id:{url},视频id{video_id} ,分享:{share_cnt},点赞:{like_cnt},时长:{duration}") 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) Common.logger("sph-ls").info( f"任务:{task_mark},用户主页id:{url},视频id{video_id} ,分享:{share_cnt},点赞:{like_cnt} ,时长:{duration} ") continue if share_cnt < like_cnt: AliyunLogger.logging(channel_id, name, url, video_id, "不符合规则:分享小于点赞", "2003", log_data) Common.logger("sph-ls").info( f"任务:{task_mark},用户主页id:{url},视频id{video_id} ,分享:{share_cnt},点赞:{like_cnt} ,时长:{duration} ") continue if duration < 30 or duration > 720: AliyunLogger.logging(channel_id, name, url, video_id, "不符合规则:时长不符合规则大于720秒/小于30秒", "2003", log_data) Common.logger("sph-ls").info( f"任务:{task_mark},用户主页id:{url},视频id{video_id} ,分享:{share_cnt},点赞:{like_cnt} ,时长:{duration} ") 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): Common.logger("sph-ls").info(f"获取视频号视频总数:{len(list)}\n") return list return list else: Common.logger("sph-ls").info(f"{url}无数据\n") return list if __name__ == '__main__': SPHLS.get_sphls_data(1,2,3,4)