【发布时间】:2016-01-01 15:07:56
【问题描述】:
我想从 youtube 视频中获取一些关于“like”、“dislike”、“view”的最小统计信息 计数。然而,到目前为止,我可以检索视频信息的 JSON,但没有上述信息。
【问题讨论】:
-
与 Python 完全无关。
-
对不起,我不是故意添加 python 作为标签
标签: python youtube youtube-api
我想从 youtube 视频中获取一些关于“like”、“dislike”、“view”的最小统计信息 计数。然而,到目前为止,我可以检索视频信息的 JSON,但没有上述信息。
【问题讨论】:
标签: python youtube youtube-api
使用 YouTube Analytics API v1 的 youtubeAnalytics.reports.query 部分的以下查询将返回指定频道和时间跨度的观看次数、喜欢次数和不喜欢次数:
GET https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel=={CHANNEL_ID}&start-date=2018-02-18&end-date=2018-03-26&metrics=views,likes,dislikes&key={YOUR_API_KEY}
运行查询确实需要用户获得授权。您可以使用APIs Explorer 来测试和修改上述查询。
【讨论】:
此属性的有效值为:
- 不喜欢
- 喜欢
- 无
- 未指定
例子:
GET https://www.googleapis.com/youtube/v3/videos/getRating?id=test>&key=<key>
【讨论】:
因此,在不使用 Google API 和执行任何 O-AUTH 的情况下,我只是解析网站并获得 like 计数和 title。
导入请求 重新导入
filesInChannel = [
"https://www.youtube.com/watch?v=PYuNBFdwK7k",
"https://www.youtube.com/watch?v=-Ox9MvottBI"
]
def getStats(link):
page = requests.get(link)
likes = re.search("with (\d*.\d*.\d*)", page.text).group(1)
title = re.search("property=\"og:title\" content=\"([^\n]*)", page.text).group(1)
return (likes, title)
for link in filesInChannel:
stats = getStats(link)
print stats[0].encode("utf-8") + " " + stats[1].encode("utf-8")
【讨论】: