问题描述
我一直在阅读YouTube的api文档,但是很难弄清楚如何用Python计算给定视频的每周观看次数。这可能吗?谢谢!
解决方法
YouTube Analytics and Reporting APIs不能提供您所需的指标-每周的观看次数(据我所知)。
YouTube Data API也不提供您所需的信息-每周的观看次数-但您可以根据此属性来计算自己:
statistics.viewCount
(无符号长)
视频被观看的次数。
因此,您应该调用Videos.list
API端点,并向其传递参数id=VIDEO_ID
和part=statistics
,其中VIDEO_ID
是您正在观看的视频的ID感兴趣。
安排程序每周读取viewCount
属性,以根据需要计算每周观看次数。
在Python的上下文中,如果您使用的是Google APIs Client Library for Python,则对Videos.list
端点的调用将类似于:
from googleapiclient.discovery import build
youtube = build('youtube','v3',developerKey = APP_KEY)
response = youtube.videos().list(
id = VIDEO_ID,part = 'statistics',fields = 'items(statistics(viewCount))',maxResults = 1
).execute()
view_count = response['items'][0]['statistics']['viewCount']
请注意,由于没有错误处理,因此上面的代码已大大简化。
还要注意,上面的代码使用参数fields
从端点 only 获得viewCount
属性。 (最好只从API询问真正需要的信息。)
使用此端点的另一个警告是:
即使官方文档说端点的响应包含类型为viewCount
的{{1}}属性,实际的JSON响应也具有该属性值的字符串类型:
unsigned long
因此,上面的变量{
"items": [
{
"statistics": {
"viewCount": "54508"
}
}
]
}
的类型为view_count
;当然,将其用作整数将需要转换形式str
。