Youtube API - 仅搜索音乐视频

Youtube API - search only music videos

搜索音乐视频会产生许多不是音乐视频的结果 - 例如对寻找到的艺术家的采访。在我看来,只有音乐视频应该在音乐类别中,或者音乐视频应该有一个单独的类别,或者视频应该被标记为多个类别,我们可以根据这些类别进行逻辑过滤。

是否有任何 functionality/filter 可以与 API 一起使用到 return 只有音乐视频。

以下是我的代码:-

def search_videos(self,keyword,maxResults=10):
    youtube = build('youtube','v3',developerKey=KEY)

    response = youtube.search().list(q=keyword,
                                     part="id,snippet",
                                     maxResults=maxResults
                                     ).execute().get("items", [])

    videos = []

    for record in response:
        if record["id"]["kind"] == "youtube#video":
            title = record["snippet"]["title"].encode(encoding='UTF-8',errors='strict')
            youtube_id = record["id"]["videoId"].encode(encoding='UTF-8',errors='strict')
            videos.append({
                'youtube_id': youtube_id,
                'title' : title
            })

    return videos

不,没有。用户用类别标记他们自己的视频,因此您不能依赖符合您对类别期望的视频,即使类别的含义看起来很清楚。

See this post, which something tells me you've already seen. =)

我认为使用基于关键字的搜索无法实现这一目标。这里的类别是 'music',这意味着任何使用标签 'music' 对其视频进行分类的人最终都会成为 'music video' 并显示该类别。

此外,我认为您的问题与此类似 - https://code.google.com/p/gdata-issues/issues/detail?id=5341。您可以跟进和请求,但如果没有某种评级系统,这可能不可行。

在您的搜索中,您可以指定 videoCategoryId,这是 应该 只为您提供特定于该类别的结果(但我认为它现在有点错误)除了关键字 "music video",我希望它能为您提供更相关的结果。如果您想尝试一下,音乐的 videoCategoryId 是“10”(假设您在美国)。请注意,您还必须指定 type=video。除此之外,我不确定除了尝试提高对其他人发布的问题的可见性之外,您还能做些什么。