【问题标题】:Getting all user ids/authors from Youtube video comments page从 Youtube 视频评论页面获取所有用户 ID/作者
【发布时间】:2013-09-06 14:55:19
【问题描述】:

正如标题所说,我想获取所有对特定 Youtube 视频发表评论的用户 ID。我已经到处寻找这样的东西,Youtube 数据 API 很接近,但我只能让它接收 cmets 而不是它来自的用户。我看过的另一种方法是使用greasemonkey + jquery 来获取它们,但是jquery 不能在Youtube 上正常运行,而且很多javascript 函数也不能。任何人都可以提出一种可以做到这一点的方法吗?

这是我在greasemonkey中测试的脚本的一部分:

var elem = document.getElementsByClassName('author')[1];
var mystring = elem.nextSibling;
var mynewString = mystring.innerHtml;

document.getElementById('google-cookie-alert').innerHTML = mynewString;

但它返回未定义。

【问题讨论】:

    标签: php jquery youtube-api


    【解决方案1】:

    给你。这将注销显示的每个评论者的所有用户名。

    var elements = document.getElementsByClassName("author");
    for (var i = 0; i < elements.length; i++){
        if(elements[i].children.length > 0)
             console.log(elements[i].children[0].text)
    }
    

    【讨论】:

    • 实际上我还有一个问题,它似乎一次不会超过 200 个,而在大约 600 个之后它几乎没有 15 个。这只是在循环中设置最大值更高而不是elements.length,但即使这样它也不会全部完成。
    • Youtube 对其 cmets 进行分页。您还必须检查用户是否存在,如if(elements[i].children[0]),因为已删除的 cmets 没有用户名子
    • 是的,我知道我必须展示更多的 cmets。所以你认为它是在找到一条已删除的评论,然后因为它是空的,所以它会出错?
    • 其实没关系让它工作。这是因为我将 lement.children 部分设置为一个变量,以便在 if 检查之前使用。
    猜你喜欢
    • 2017-07-12
    • 2013-11-26
    • 2016-05-13
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    • 2023-03-09
    • 2012-03-08
    相关资源
    最近更新 更多