如果您使用Youtube API在平台上获取最受欢迎的视频,您会发现其中一些是音乐视频,对吗?然后,如果您使用videoCategoryID
来选择最受欢迎的音乐视频,则一般列表中的音乐视频结果有时不会显示。但是,如果您转到每个元素并检查它们的videoCategoryID
,它的确会设置为10,即“ Music”,因此如果您按videoCategoryID=10
进行过滤,它们应该会显示出来。
知道为什么会这样吗?
这是一个实际的例子。
youtube=disc.build("youtube","v3",developerKey=youTubeApiKey)
general_top20 = youtube.videos().list(
part="snippet,statistics",
chart="mostPopular",
maxResults=20
).execute()
for a in range(20):
b = general_top20 ["items"][a]["snippet"]["channelTitle"]
c = general_top20 ["items"][a]["snippet"]["title"]
d = general_top20 ["items"][a]["snippet"]["categoryId"]
print(str(a) + " " + b + " - " + c[:30] + "\nVideoCategory:" + d + '\n')
如果您在python上运行此代码,您将获得一个漂亮的前20名列表,并看到某些项目被标记为VideoCategory:10,这意味着它们被归类为“音乐”。
当前,截至AST / 2019年12月22日,此列表中唯一的音乐视频是玛丽亚·凯里(Mariah Carey)的“圣诞节我想要的一切”。
但是如果您再运行另一个示例:
music_top20 = youtube.videos().list(
part="snippet,statistics",
chart="mostPopular",
maxResults=20,
videoCategoryId=10
).execute()
for a in range(20):
b = music_top20 ["items"][a]["snippet"]["channelTitle"]
c = music_top20 ["items"][a]["snippet"]["title"]
d = music_top20 ["items"][a]["snippet"]["categoryId"]
print(str(a) + " " + b + " - " + c[:30] + "\nVideoCategory:" + d + '\n')
您会看到,一般列表中排名最高的音乐视频可能不会在此列表的顶部。但是,如果它们是一般音乐录影带中的佼佼者,那么这意味着它们也应该排在音乐榜首。
在这种情况下,最重要的视频应该是玛丽亚·凯莉(Mariah Carey)的视频,但事实并非如此,这是YoungBoy Never Broke Again的视频。实际上,玛丽亚·凯莉(Mariah Carey)的视频甚至根本不在前20名音乐列表中。