Getting KeyError: 'viewCount' for using Youtube API in Python
Getting KeyError: 'viewCount' for using Youtube API in Python
我正在尝试获取某个频道的视频列表的观看次数。我已经编写了一个函数,当我尝试使用 'video_id'、'title' 和 'published date' 来 运行 时,我得到了输出。但是,当我想要查看次数或 API 统计部分的任何内容时,它会给出一个关键错误。
代码如下:
def get_video_details(youtube, video_ids):
all_video_stats = []
for i in range(0, len(video_ids), 50):
request = youtube.videos().list(
part='snippet,statistics',
id = ','.join(video_ids[i:i+50]))
response = request.execute()
for video in response['items']:
video_stats = dict(
Video_id = video['id'],
Title = video['snippet']['title'],
Published_date = video['snippet']['publishedAt'],
Views = video['statistics']['viewCount'])
all_video_stats.append(video_stats)
return all_video_stats
get_video_details(youtube, video_ids)
这是错误信息:
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_18748/3337790216.py in <module>
----> 1 get_video_details(youtube, video_ids)
~\AppData\Local\Temp/ipykernel_18748/1715852978.py in get_video_details(youtube, video_ids)
14 Title = video['snippet']['title'],
15 Published_date = video['snippet']['publishedAt'],
---> 16 Views = video['statistics']['viewCount'])
17
18 all_video_stats.append(video_stats)
KeyError: 'viewCount'
我参考了这个 Youtube 视频来编写我的代码。
提前致谢。
我知道了。
我不得不使用 .get() 来避免 KeyErrors。它将 return None 用于 KeyErrors。
替换此代码以获得解决方案。
Views = video['statistics'].get('viewCount')
我正在尝试获取某个频道的视频列表的观看次数。我已经编写了一个函数,当我尝试使用 'video_id'、'title' 和 'published date' 来 运行 时,我得到了输出。但是,当我想要查看次数或 API 统计部分的任何内容时,它会给出一个关键错误。
代码如下:
def get_video_details(youtube, video_ids):
all_video_stats = []
for i in range(0, len(video_ids), 50):
request = youtube.videos().list(
part='snippet,statistics',
id = ','.join(video_ids[i:i+50]))
response = request.execute()
for video in response['items']:
video_stats = dict(
Video_id = video['id'],
Title = video['snippet']['title'],
Published_date = video['snippet']['publishedAt'],
Views = video['statistics']['viewCount'])
all_video_stats.append(video_stats)
return all_video_stats
get_video_details(youtube, video_ids)
这是错误信息:
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_18748/3337790216.py in <module>
----> 1 get_video_details(youtube, video_ids)
~\AppData\Local\Temp/ipykernel_18748/1715852978.py in get_video_details(youtube, video_ids)
14 Title = video['snippet']['title'],
15 Published_date = video['snippet']['publishedAt'],
---> 16 Views = video['statistics']['viewCount'])
17
18 all_video_stats.append(video_stats)
KeyError: 'viewCount'
我参考了这个 Youtube 视频来编写我的代码。
提前致谢。
我知道了。
我不得不使用 .get() 来避免 KeyErrors。它将 return None 用于 KeyErrors。
替换此代码以获得解决方案。
Views = video['statistics'].get('viewCount')