我很难理解与youtube的API有关的内容所以我的代码基本上非常简单:
name = input("enter the username: ")
key = "MY API KEY"
data = urllib.request.urlopen("https://www.googleapis.com/youtube/v3/channels?
part=statistics&forUsername="+name+"&key="+key).read()
subs = json.loads(data)["items"][0]["statistics"]["subscriberCount"]
print(name + " has " + "{:,d}".format(int(subs)) + " subscribers!🎉")
只是在给出特定的YouTube用户名后大吼大叫的用户数量:事情是有一些用户名(例如:Vsuase / Veritasium / Unbox Therapy)有很多潜艇和API-URL给我错误的数据
Vsauce - 作为回报让我回到72潜艇
Veritasium / Unbox Therapy - 根本不给我任何号码
但是,一个频道“Computerphile”给了我他们完全相同的潜艇。
为什么少数用户名可以工作而很少有用?
我在两者中进行了测试,使用YouTube Data API - Official Documentation和Google API Explorer中提供的try-it功能,在两个站点中,结果非常相似。
例如,当YouTube用户vsauce
的统计数据被要求使用YouTube API时,subscriberCount
中的值为14220819
并检查他的YouTube频道:14,220,825
。
以下是example请求YouTube用户vsauce
的统计数据(使用试用版)
以下是demo请求YouTube用户vsauce
的统计数据(使用Google API Explorer)。
通过请求您在问题中提到的其他渠道,我没有看到subscriberCount
中的值有任何差异。
1您需要考虑某些渠道的订户数量比其他渠道有更多变化,这些结果在API的响应中也有所不同。
出于某种原因,如果您更改了来自forUsernae = - > id =的URL,它会为您提供正确的数字。
TED频道:https://www.googleapis.com/youtube/v3/channels?part=statistics&id = UCAuUUnT6oDeKwE6v1NGQxug&key = AIzaSyDjnINqqxQlIg4kbXoPDVYOhHNfdmDbb9I