|  | @@ -235,61 +235,64 @@ class KsFeedVideo:
 | 
	
		
			
				|  |  |      @classmethod
 | 
	
		
			
				|  |  |      def get_data(cls):
 | 
	
		
			
				|  |  |          for category_id, category_name in cls.CATEGORY_IDS.items():
 | 
	
		
			
				|  |  | -            feed_data = cls.get_feed_list()
 | 
	
		
			
				|  |  | -            feed_data = json.loads(feed_data)
 | 
	
		
			
				|  |  | -            feeds = feed_data['feeds']
 | 
	
		
			
				|  |  | -            for feed in feeds:
 | 
	
		
			
				|  |  | -                photo_id = feed["photo_id"]  # 视频ID
 | 
	
		
			
				|  |  | -                status = sqlCollect.is_used(photo_id)
 | 
	
		
			
				|  |  | -                if status:
 | 
	
		
			
				|  |  | -                    continue
 | 
	
		
			
				|  |  | -                user_name = feed["user_name"]  # 用户名
 | 
	
		
			
				|  |  | -                user_sex = feed["user_sex"]  # 性别 F为女,U为男
 | 
	
		
			
				|  |  | -                time_data = feed["time"]  # 发布时间
 | 
	
		
			
				|  |  | -                caption = feed["caption"]  # 标题
 | 
	
		
			
				|  |  | -                view_count = feed["view_count"]  # 浏览数
 | 
	
		
			
				|  |  | -                like_count = feed["like_count"]  # 点赞数
 | 
	
		
			
				|  |  | -                share_count = feed["share_count"]  # 分享数
 | 
	
		
			
				|  |  | -                duration = feed["duration"]  # 时长/秒
 | 
	
		
			
				|  |  | -                duration = cls.milliseconds_to_seconds(duration)
 | 
	
		
			
				|  |  | -                main_mv_url = feed["main_mv_url"]  # 视频链接
 | 
	
		
			
				|  |  | -                thumbnail_url = feed["thumbnail_url"]  # 视频封面
 | 
	
		
			
				|  |  | -                user_id = feed["user_id"]  # 用户id非用户主页id
 | 
	
		
			
				|  |  | -                time_status = cls.get_video_data(time_data)
 | 
	
		
			
				|  |  | -                if time_status:
 | 
	
		
			
				|  |  | -                    sqlCollect.insert_ks_data(user_name, user_sex, time_data, caption, view_count, like_count, share_count, duration, main_mv_url, thumbnail_url, user_id, '1', photo_id, category_name, age=None, oss_object=None, video_uid=None)
 | 
	
		
			
				|  |  | -                    continue
 | 
	
		
			
				|  |  | -                video_percent = '%.2f' % (share_count / like_count)
 | 
	
		
			
				|  |  | -                special = float(0.2)
 | 
	
		
			
				|  |  | -                if float(video_percent) < special or share_count < 2000 or duration < 30 or duration > 6000:
 | 
	
		
			
				|  |  | -                    sqlCollect.insert_ks_data(user_name, user_sex, time_data, caption, view_count, like_count, share_count, duration, main_mv_url, thumbnail_url, user_id, '1', photo_id, category_name, age=None, oss_object=None, video_uid=None)
 | 
	
		
			
				|  |  | -                    continue
 | 
	
		
			
				|  |  | -                value, age = cls.analyze_photo(photo_id)
 | 
	
		
			
				|  |  | -                if value:
 | 
	
		
			
				|  |  | -                    sqlCollect.insert_ks_data(user_name, user_sex, time_data, caption, view_count, like_count,
 | 
	
		
			
				|  |  | -                                              share_count, duration, main_mv_url, thumbnail_url, user_id, '1',
 | 
	
		
			
				|  |  | -                                              photo_id, category_name, age=None, oss_object=None, video_uid=None)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                    continue
 | 
	
		
			
				|  |  | -                oss_object_key = Oss.channel_upload_oss(main_mv_url, photo_id)
 | 
	
		
			
				|  |  | -                time.sleep(2)
 | 
	
		
			
				|  |  | -                oss_object = oss_object_key.get("oss_object_key")
 | 
	
		
			
				|  |  | -                pq_id = cls.get_id_by_category(category_name)
 | 
	
		
			
				|  |  | -                if pq_id:
 | 
	
		
			
				|  |  | -                    video_uid = cls.insert_piaoquantv(oss_object, caption, pq_id, thumbnail_url)
 | 
	
		
			
				|  |  | -                    sqlCollect.insert_ks_data(user_name, user_sex, time_data, caption, view_count,
 | 
	
		
			
				|  |  | -                                              like_count, share_count, duration, main_mv_url, thumbnail_url,
 | 
	
		
			
				|  |  | -                                              user_id, '0', photo_id, category_name, age, oss_object, video_uid)
 | 
	
		
			
				|  |  | -                    current_time = datetime.now()
 | 
	
		
			
				|  |  | -                    formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
 | 
	
		
			
				|  |  | -                    values = [
 | 
	
		
			
				|  |  | -                        [category_name, user_name, user_sex, caption, view_count, like_count, share_count, duration,
 | 
	
		
			
				|  |  | -                         main_mv_url, thumbnail_url, user_id, age, pq_id, video_uid, time_data, formatted_time]]
 | 
	
		
			
				|  |  | -                    Feishu.insert_columns("PlcisKhObhzmBothRutc65sJnph", "823f74", "ROWS", 1, 2)
 | 
	
		
			
				|  |  | -                    time.sleep(0.5)
 | 
	
		
			
				|  |  | -                    Feishu.update_values("PlcisKhObhzmBothRutc65sJnph", "823f74", "A2:Z2", values)
 | 
	
		
			
				|  |  | -            time.sleep(80)
 | 
	
		
			
				|  |  | +            try:
 | 
	
		
			
				|  |  | +                feed_data = cls.get_feed_list()
 | 
	
		
			
				|  |  | +                feed_data = json.loads(feed_data)
 | 
	
		
			
				|  |  | +                feeds = feed_data['feeds']
 | 
	
		
			
				|  |  | +                for feed in feeds:
 | 
	
		
			
				|  |  | +                    photo_id = feed["photo_id"]  # 视频ID
 | 
	
		
			
				|  |  | +                    status = sqlCollect.is_used(photo_id)
 | 
	
		
			
				|  |  | +                    if status:
 | 
	
		
			
				|  |  | +                        continue
 | 
	
		
			
				|  |  | +                    user_name = feed["user_name"]  # 用户名
 | 
	
		
			
				|  |  | +                    user_sex = feed["user_sex"]  # 性别 F为女,U为男
 | 
	
		
			
				|  |  | +                    time_data = feed["time"]  # 发布时间
 | 
	
		
			
				|  |  | +                    caption = feed["caption"]  # 标题
 | 
	
		
			
				|  |  | +                    view_count = feed["view_count"]  # 浏览数
 | 
	
		
			
				|  |  | +                    like_count = feed["like_count"]  # 点赞数
 | 
	
		
			
				|  |  | +                    share_count = feed["share_count"]  # 分享数
 | 
	
		
			
				|  |  | +                    duration = feed["duration"]  # 时长/秒
 | 
	
		
			
				|  |  | +                    duration = cls.milliseconds_to_seconds(duration)
 | 
	
		
			
				|  |  | +                    main_mv_url = feed["main_mv_url"]  # 视频链接
 | 
	
		
			
				|  |  | +                    thumbnail_url = feed["thumbnail_url"]  # 视频封面
 | 
	
		
			
				|  |  | +                    user_id = feed["user_id"]  # 用户id非用户主页id
 | 
	
		
			
				|  |  | +                    time_status = cls.get_video_data(time_data)
 | 
	
		
			
				|  |  | +                    if time_status:
 | 
	
		
			
				|  |  | +                        sqlCollect.insert_ks_data(user_name, user_sex, time_data, caption, view_count, like_count, share_count, duration, main_mv_url, thumbnail_url, user_id, '1', photo_id, category_name, age=None, oss_object=None, video_uid=None)
 | 
	
		
			
				|  |  | +                        continue
 | 
	
		
			
				|  |  | +                    video_percent = '%.2f' % (share_count / like_count)
 | 
	
		
			
				|  |  | +                    special = float(0.2)
 | 
	
		
			
				|  |  | +                    if float(video_percent) < special or share_count < 2000 or duration < 30 or duration > 6000:
 | 
	
		
			
				|  |  | +                        sqlCollect.insert_ks_data(user_name, user_sex, time_data, caption, view_count, like_count, share_count, duration, main_mv_url, thumbnail_url, user_id, '1', photo_id, category_name, age=None, oss_object=None, video_uid=None)
 | 
	
		
			
				|  |  | +                        continue
 | 
	
		
			
				|  |  | +                    value, age = cls.analyze_photo(photo_id)
 | 
	
		
			
				|  |  | +                    if value:
 | 
	
		
			
				|  |  | +                        sqlCollect.insert_ks_data(user_name, user_sex, time_data, caption, view_count, like_count,
 | 
	
		
			
				|  |  | +                                                  share_count, duration, main_mv_url, thumbnail_url, user_id, '1',
 | 
	
		
			
				|  |  | +                                                  photo_id, category_name, age=None, oss_object=None, video_uid=None)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +                        continue
 | 
	
		
			
				|  |  | +                    oss_object_key = Oss.channel_upload_oss(main_mv_url, photo_id)
 | 
	
		
			
				|  |  | +                    time.sleep(2)
 | 
	
		
			
				|  |  | +                    oss_object = oss_object_key.get("oss_object_key")
 | 
	
		
			
				|  |  | +                    pq_id = cls.get_id_by_category(category_name)
 | 
	
		
			
				|  |  | +                    if pq_id:
 | 
	
		
			
				|  |  | +                        video_uid = cls.insert_piaoquantv(oss_object, caption, pq_id, thumbnail_url)
 | 
	
		
			
				|  |  | +                        sqlCollect.insert_ks_data(user_name, user_sex, time_data, caption, view_count,
 | 
	
		
			
				|  |  | +                                                  like_count, share_count, duration, main_mv_url, thumbnail_url,
 | 
	
		
			
				|  |  | +                                                  user_id, '0', photo_id, category_name, age, oss_object, video_uid)
 | 
	
		
			
				|  |  | +                        current_time = datetime.now()
 | 
	
		
			
				|  |  | +                        formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
 | 
	
		
			
				|  |  | +                        values = [
 | 
	
		
			
				|  |  | +                            [category_name, user_name, user_sex, caption, view_count, like_count, share_count, duration,
 | 
	
		
			
				|  |  | +                             main_mv_url, thumbnail_url, user_id, age, pq_id, video_uid, time_data, formatted_time]]
 | 
	
		
			
				|  |  | +                        Feishu.insert_columns("PlcisKhObhzmBothRutc65sJnph", "823f74", "ROWS", 1, 2)
 | 
	
		
			
				|  |  | +                        time.sleep(0.5)
 | 
	
		
			
				|  |  | +                        Feishu.update_values("PlcisKhObhzmBothRutc65sJnph", "823f74", "A2:Z2", values)
 | 
	
		
			
				|  |  | +                time.sleep(80)
 | 
	
		
			
				|  |  | +            except Exception as exc:
 | 
	
		
			
				|  |  | +                print(f"异常信息: {exc}")
 | 
	
		
			
				|  |  | +                continue
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 |