You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:按(likes/dislikes)>100条件获取YouTube频道视频列表的方案

解决方法:按点赞/点踩比值筛选YouTube频道视频

YouTube Data API v3确实没有提供直接通过接口筛选(likes/dislikes)比值的参数,你需要通过以下步骤实现需求:

  • 步骤1:获取目标频道的上传视频列表ID
    调用channels.list接口,参数设置为part=contentDetails,传入频道ID或用户名,从返回结果的contentDetails.relatedPlaylists.uploads字段拿到该频道的上传视频播放列表ID。

  • 步骤2:遍历播放列表获取所有视频ID
    调用playlistItems.list接口,参数part=contentDetails,传入上一步得到的播放列表ID。该接口分页返回数据,需通过pageToken遍历所有页面,收集所有视频的contentDetails.videoId。

  • 步骤3:批量获取视频的点赞/点踩数据
    调用videos.list接口,参数part=statistics,将收集到的视频ID批量传入(一次最多支持50个ID),获取每个视频的statistics.likeCount和statistics.dislikeCount(注意:dislikeCount可能返回null或0,需做异常处理)。

  • 步骤4:本地筛选符合条件的视频
    对每个视频计算likeCount / dislikeCount,筛选出比值大于100的视频。注意处理dislikeCount为0的情况(可直接排除,或根据需求视为无限大)。

示例代码片段(Python)

# 假设已获取视频ID列表video_ids
from googleapiclient.discovery import build

api_key = "YOUR_API_KEY"
youtube = build('youtube', 'v3', developerKey=api_key)

# 批量获取视频统计数据
def get_video_stats(video_ids):
    stats = []
    for i in range(0, len(video_ids), 50):
        batch_ids = video_ids[i:i+50]
        request = youtube.videos().list(
            part="statistics",
            id=",".join(batch_ids)
        )
        response = request.execute()
        for item in response['items']:
            like_count = int(item['statistics'].get('likeCount', 0))
            dislike_count = int(item['statistics'].get('dislikeCount', 0))
            stats.append({
                'video_id': item['id'],
                'like_count': like_count,
                'dislike_count': dislike_count
            })
    return stats

# 筛选比值>100的视频
video_stats = get_video_stats(video_ids)
filtered_videos = [
    vid for vid in video_stats 
    if vid['dislike_count'] > 0 and (vid['like_count'] / vid['dislike_count']) > 100
]

注意事项

  • YouTube Data API有配额限制,批量请求会消耗配额,建议合理控制请求频率和批量大小。
  • 如果频道视频数量极大,遍历播放列表可能需要多次请求,注意处理分页逻辑。
  • dislikeCount字段在部分地区或视频可能无法获取,需做好兼容处理。

内容的提问来源于stack exchange,提问作者Jumaniyaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 01:20:06