我正在尝试在python中建立一个Youtube查询,以过滤掉类别39-恐怖。 我正在寻找类似的东西:
searchResults = YouTube.Search.list('id,snippet', {
maxResults: "10",
q: "The ring",
type: "video",
videoCategoryId: "-10"
});
或任何解决方法。
我什至打算在不使用过滤器的情况下进行搜索,然后尝试将其从该类别中排除,但是查询所提供的信息并不包括视频的类别。这很丑陋,因为我确实想要10个结果,并且可能需要进行更多查询才能填充列表。
我发现所有Google搜索都是如何从指定类别中获取视频。
您能帮我实现这一目标吗?
答案 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®ionCode=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
视频,其videoId
,channel title
和channel_id
来自上传视频的频道。
这里是demo。
似乎所有地区都未支持videoCategoryId
(这可能是我无法检索带有videoCategoryId=39
“这是美国的恐怖类别”的视频的原因) 。
有关更多信息,请read this answer。