试图从 youtube api 获取数据的 Python 错误

我有一个问题,我正在尝试通过 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”之外的所有东西


我认为问题归结为:我在哪里可以找到数据表中的“标签”元素?


jeck猫
浏览 197回答 1
1回答

哔哔one

根据 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)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python