【问题标题】:How to retrieve like/dislike/view count from Youtube?如何从 Youtube 检索喜欢/不喜欢/观看次数?
【发布时间】:2016-01-01 15:07:56
【问题描述】:

我想从 youtube 视频中获取一些关于“like”、“dislike”、“view”的最小统计信息 计数。然而,到目前为止,我可以检索视频信息的 JSON,但没有上述信息。

【问题讨论】:

标签: python youtube youtube-api


【解决方案1】:

使用 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 来测试和修改上述查询。

【讨论】:

    【解决方案2】:

    你试过videos/getRating

    此属性的有效值为:

    • 不喜欢
    • 喜欢
    • 未指定

    例子:

    GET https://www.googleapis.com/youtube/v3/videos/getRating?id=test>&key=<key>
    

    【讨论】:

    • 只有当我是视频的管理员时这才有效?
    • 是的,它需要身份验证
    • @user1767754 它们表示身份验证密钥。你可以在谷歌开发者那里创建一个
    【解决方案3】:

    因此,在不使用 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")
    

    【讨论】:

    • 要添加更多信息,您只需添加更多正则表达式搜索语句
    • 鉴于我不知道视频 ID,如果我想通过简单地创建搜索查询来获得观看次数,我会得到一个可供选择的选项列表。该窗口是否可以按视图排序,以便我可以过滤最高视图?
    • 用这种方法你可以废弃多少个网址?是否可以将它用于数千个视频?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-03
    • 2019-10-28
    • 2013-05-26
    • 2020-10-13
    • 2018-02-26
    • 2014-05-21
    • 1970-01-01
    相关资源
    最近更新 更多