所以我创建了一个脚本来列出来自Google V3 YouTube API的信息,我使用了他们网站上显示的结构来描述它,所以我很确定我误解了什么。
我试着使用显示的结构打印视频的标题作为测试
并希望打印该文件,但它只是引发了一个错误。错误如下所示
下面是我写的
import sys, json, requests
vidCode = input('\nVideo Code Here: ')
url = requests.get(f'https://youtube.googleapis.com/youtube/v3/videos?part=snippet%2CcontentDetails%2Cstatistics&id={vidCode}&key=(not sharing the api key, lol)')
text = url.text
data = json.loads(text)
if "kind" in data:
print(f'Video URL: youtube.com/watch?v={vidCode}')
print('Title: ', data['snippet.title'])
else:
print("The video could not be found.\n")
这不起作用,但是,如果我将snippet.title
更改为类似etag
的内容,打印就成功了。
我认为这是因为标题在JSON列表中更靠后。
我也试过做data['items']
,它确实起作用了,但我也不想输出大量的未格式化信息,这不太好,哈哈。
我做的另一个测试是data['items.snippet.title']
,看看这是否是我错过的,也没有,这没有工作。
知道我做错了什么吗?
1条答案
按热度按时间xuo3flqw1#
需要分别访问字典中的键。
为了清楚起见,您需要访问字典中的“items”值,它是一个列表,从该列表中获取第一个项目,然后获取“snippet”子对象,最后获取标题。