我有一个问题,我正在尝试通过 Youtube API 使 Python 搜索视频,但部分代码不起作用。当我尝试获取视频的标签时,它给了我一个错误。到目前为止,我已经使用了 Google“search_by_keyword”中的示例。它运作良好。然而,我已经稍微改变了它。我想要的是 Python 为我提供带有该视频中标签的视频 ID。我尝试调试,通过让它打印表格的整个“片段”部分,似乎在“片段”中根本找不到“标签”只添加了一小部分代码,其余的正在查找。for search_result in search_response.get("items", []): if search_result["id"]["kind"] == "youtube#video": videos.append("%s (%s)" % (search_result["snippet"]["tags"], search_result["id"]["videoId"]))print ("Videos:\n", "\n".join(videos), "\n")在videos.append("%s (%s)" % (search_result["snippet"]["tags"]我希望它在这里给我视频的标签,但它只会出现回溯错误“keyerror:tags”。试图让它打印整个“片段”部分,给了我除了“标签”和“categoryid”之外的所有东西我认为问题归结为:我在哪里可以找到数据表中的“标签”元素?
1 回答
哔哔one
TA贡献1854条经验 获得超8个赞
根据 Google 的文档 ( https://developers.google.com/youtube/v3/docs/search#resource ),从 Search 端点获取的 JSON 对象片段没有标签成员。因此,您的代码获得 KeyError 异常表现出正确的行为。
要访问视频资源 ( https://developers.google.com/youtube/v3/docs/videos#snippet.tags[] )的标签属性,您必须为您感兴趣的每个视频进行单独的 API 调用在视频端点 ( https://developers.google.com/youtube/v3/docs/videos/list ) 上。
附录:您可以通过将这些视频(仅在一次 API 调用中)指定为参数id作为视频 id的逗号分隔列表(https ://developers.google.com/youtube/v3/docs/videos/list#id)。
添加回答
举报
0/150
提交
取消