javascript - 流光w. 〜5,000 位关注者。尝试使用 JS 从表中抓取数据?

标签 javascript html-table streaming

我是一名中型主播,最近从 StreamLabs 获得了忠诚度系统,其中包括每个用户在直播中积累的积分。但是,我无法使用自己的 JavaScript 来自定义积分系统并添加新功能,因此我想将另一个开源 twitch bot (Phantombot) 与 StreamLabs 系统结合使用。我的观众太迷恋 StreamLabs 叠加层,所以我不能只走纯粹的 Phantombot 路线。

我有超过 1,000 个用户,他们都有自己的积分需要转移。 StreamLabs 没有提供一种干净的方法来导出包含用户及其点值的 Excel 文档。我检查了列出所有要点的页面,其结构如下:

<tbody>
<tr>
    <td class="table_name"> String </td> <!-- The name of the user -->
    <td class="table__message"> Number </td> <!-- The user's amount of points -->
    <td class="table__controls">
        <div class="pane-dropdown">
            <a class="pane-dropdown__toggle"> <!-- The cog opens the dropdown list -->
                <span>
                    <i class="fa fa-cog"> <!-- There she is. -->
                        ::before
                    </i>
                </span>
             </a>
             <div class="pane-dropdown__menu" style="display: none;">
                 <span>
                     <ul class="pane-dropdown__list">
                         <li>
                             <a class="pane-dropdown__link">Edit Points</a>
                         <li>
                         <li>
                             <a class="pane-dropdown__link warn">Block User</a>
                         </li>
                         <li>
                             <a class="pane-dropdown__link warn">Reset Points</a>
                         </li>
                     </ul>
                 </span>
             </div>
         </div>
     </td>
 </tr>
<!-- More table rows for each user -->

以下是页面外观的链接:

https://imgur.com/JSBFHYi

有没有办法让我循环浏览每个页面,获取每个用户的积分,并将信息以有意义的格式(例如 Excel 文档)放入?

我知道基本的 JavaScript,大部分都是我自学的,并且有很好的直觉 - 但像这样的项目完全超出了我的技能范围。我正在考虑使用 for 循环将每个用户的对象推送到数组,其中包含点属性和名称属性,然后将这两个属性全部导出到 .csv 文档。但是,我不知道该怎么做,或者是否可能(但如果是冰棒,那就有可能),所以我认为这是可能的。任何朝着正确方向的插入将不胜感激。

我的想法是,在构建脚本时,类 table_name 和 table__message 可能是一个很好的起点 - 有什么指导吗?

最佳答案

Streamlabs API 似乎有几个与点交互的选项。

查看示例,“团体获取积分”可能就是您正在寻找的内容:

var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://streamlabs.com/api/v1.0/points/group_get_points?access_token=access_token&channel=channel&usernames=usernames");

xhr.send(data);

这应该会产生一系列用户及其积分,类似于:

[
  {
    username: "sunny601",
    points: 94
  },
  {
    username: "sunny602",
    points: 103
  }
]

查看 Streamlabs API Documentation on Points了解更多详情

关于javascript - 流光w. 〜5,000 位关注者。尝试使用 JS 从表中抓取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46705840/

相关文章:

javascript - 如何在创建用户之前验证电子邮件?

javascript - 如何使用谷歌地图准确获取当前地址?

javascript - mootools:进行 ajax 回调以处理单击的元素

.net - 如何将 System.Data.Linq.Binary 转换为流?

javascript - 如何通过add fixed避免内容跳转?

css - 表格主体内的滚动条方向 RTL

javascript - 使用 javascript 附加到引导表

html 表格 - 按行或列

iphone - HTTP 自适应比特率流式传输如何在 iPhone 上工作?

ffmpeg - `ffplay`如何检测到来自管道连接的ffmpeg的声音文件已经完成?