Youtube API - 仅搜索音乐视频

时间:2015-08-13 06:51:36

标签: python api youtube youtube-api

搜索音乐视频会产生很多不是音乐视频的结果 - 例如采访搜索艺术家。在我看来,只有音乐视频应该在音乐类别中,或者音乐视频应该有一个单独的类别,或者视频应该用多个类别标记,我们可以在逻辑上过滤。

是否有任何功能/过滤器可以与API一起使用以仅返回音乐视频。

以下是我的代码: -

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

3 个答案:

答案 0 :(得分:4)

在您的搜索中,您可以指定videoCategoryId假设只能为您提供特定于该类别的结果(但我认为它现在略有错误)除了具有关键词“音乐视频”,我希望能给你更多相关的结果。如果你想试试,音乐的videoCategoryId是“10”(假设你在美国)。请注意,您还必须指定type=video。除此之外,我不确定除了试图在其他人发布的问题上获得更多可见性之外,你还能做些什么。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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