使用YouTube API提取数据时遇statistics关键字错误的解决方法
解决YouTube API提取statistics数据时的关键字错误
你的问题出在数据节点路径错误:代码里错误地将statistics作为snippet的子节点调用,但YouTube API返回的结构中,statistics是和snippet同级的顶级节点,并非snippet的子属性。
修正后的代码
def get_channel_data(youtube, channel_id): request = youtube.channels().list(part="snippet,contentDetails,statistics", id=channel_id) response = request.execute() # 修正原拼写错误:responce → response item = response["items"][0] data = dict( channel_name=item["snippet"]["title"], views=item["statistics"]["viewCount"], subscriber=item["statistics"]["subscriberCount"], total_video=item["statistics"]["videoCount"], ) return data get_channel_data(youtube, channel_id)
额外注意事项
- 修复了原代码里的拼写错误:
responce改为正确的response - 处理隐藏数据:部分频道会隐藏订阅数,此时
subscriberCount会返回None,建议添加判断逻辑避免报错,比如:subscriber=item["statistics"].get("subscriberCount", "隐藏") - 验证API配置:确保你的API密钥已启用YouTube Data API v3,且请求配额未耗尽
内容的提问来源于stack exchange,提问作者Jareshiah Samuel
相关产品推荐
相关产品推荐

