如何使用Youtube API v3按类别过滤视频?

时间:2019-02-27 15:29:40

标签: python youtube-data-api

我正在尝试在python中建立一个Youtube查询,以过滤掉类别39-恐怖。 我正在寻找类似的东西:

searchResults = YouTube.Search.list('id,snippet', {
    maxResults: "10",
    q: "The ring",
    type: "video",
    videoCategoryId: "-10"
  });

或任何解决方法。

我什至打算在不使用过滤器的情况下进行搜索,然后尝试将其从该类别中排除,但是查询所提供的信息并不包括视频的类别。这很丑陋,因为我确实想要10个结果,并且可能需要进行更多查询才能填充列表。

我发现所有Google搜索都是如何从指定类别中获取视频。

您能帮我实现这一目标吗?

1 个答案:

答案 0 :(得分:0)

通过使用YouTube数据API,您可以在此处检查现有的videoCategories。

在此demo available in the Google API Explorer中,您可以检索视频类别。

选择了videoCategoryId后,请使用以下搜索请求:

https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=10&q=The+ring&regionCode=US&type=video&videoCategoryId=1&fields=items(id(channelId%2CvideoId)%2Csnippet(channelId%2CchannelTitle%2Cdescription%2Ctitle))%2CnextPageToken%2CpageInfo%2CprevPageToken%2CregionCode&key={YOUR_API_KEY}

在这里,我正在使用search.list请求“从美国地区”获取视频,其中videoCategoryId 1 = (Film & Animation),并检索YouTube的title视频,其videoIdchannel titlechannel_id来自上传视频的频道。

这里是demo

似乎所有地区都未支持videoCategoryId(这可能是我无法检索带有videoCategoryId=39“这是美国的恐怖类别”的视频的原因) 。

有关更多信息,请read this answer