python - 如何使用 Youtube API v3 按类别过滤视频?
问题描述
我正在尝试在 python 中构建一个 Youtube 查询,以过滤掉例如类别 39 - 恐怖。我正在寻找类似的东西:
searchResults = YouTube.Search.list('id,snippet', {
maxResults: "10",
q: "The ring",
type: "video",
videoCategoryId: "-10"
});
或任何一种解决方法。
我什至考虑过不使用过滤器进行搜索,然后尝试从该类别中排除那些,但查询提供的信息不包括视频的类别。它非常难看,因为我真的想要 10 个结果,而且我可能需要进行更多查询才能填写列表。
我发现谷歌搜索的只是如何从指定类别中获取视频。
你能帮助我如何实现这一目标吗?
解决方案
通过使用 YouTube 数据 API,您可以在此处查看现有的 videoCategories。
在 Google API Explorer 中提供的这个演示中,您可以检索 videoCategories。
选择 后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)
并从上传视频的频道中检索title
YouTube 视频的 、videoId
、channel title
和channel_id
。
这是演示。
似乎videoCategoryId
并非所有地区都支持(这可能是我无法检索videoCategoryId=39
“这是美国的恐怖类别”的视频的原因)。
有关更多信息,请阅读此答案。
推荐阅读
- python - 使用 Python 的 Simplex:如何设置代码
- light-4j - 关于 light-4j 应用程序缓存的任何建议?
- java - 在 JBoss 上启动 Spring webapp 问题
- java - 调用 RedisOperationsSessionRepository.delete 时出现 NoSuchMethodError
- python - 在 matplotlib 中水平显示单选按钮
- macos - 如何在 google chrome 上的 mac os 上找到下载文件的 URL?
- ios - 我想获取用户电子邮件的子字符串并将它们定向到某个视图控制器
- python - pyinstaller 生成的可执行文件找不到 octave_kernel\\kernel.json
- bash - 如何使 sed “脚本”重新启动匹配而不是退出(“重复”而不是“退出”命令)?
- git - 运行 git heroku push master 时出现致命错误