爱丽丝 油猴脚本开发日志

本文记录了爱丽丝油猴脚本的开发过程,包括修复生成错误URL的问题,使用JQuery的get()方法获取直播信息,以及面对的挑战,如翻页失效、支持更多直播平台等。开发者探讨了利用Ajax动态加载优化脚本的可能性,以提高效率并解决T台和TC台的直播源问题。
摘要由CSDN通过智能技术生成

**

爱丽丝 油猴脚本开发日志

**
21年2月23日:爱丽丝不再公开转播信息,此脚本已失效。

8月14日:现在支持生成直播源为T台和TC台的URL了,T台测试成功,TC台暂时没有样本,不过估计应该也是可以的。
在这里插入图片描述

8月10日:修复错误生成T台和TC台URL的问题,原本是按照油管的URL生成的错误网址,还是不能生成URL,只是不再生成错误的URL,效果如图:
在这里插入图片描述
在这里插入图片描述
8月8日:更新2.0版本,通过JQuery的get()方法获取数据,打开爱丽丝的一瞬间全部直播信息都有啦!剩下的替换html和1.0没什么区别

8月5日:由于ddalice的关闭,对于爱丽丝自动转播的频道的获取变得复杂了(其实也没多复杂),需要登录爱丽丝,查看正在直播的vtuber,查看转播平台,复制转播ID,补全转播网址。
开发本脚本的目的就是为了实现以上操作的自动化,预期效果图
在这里插入图片描述

如图所示,蓝色的字,即直播间ID节目标题就是通往直播间的链接,直播间ID***通往***转播间节目标题***则通往***油管
目前的问题1.翻页时失效,后面几页显示的都是第一页的链接,如图:
在这里插入图片描述

2.转播间只支持bilibili和douyu,源直播间只支持youtube,而爱丽丝是支持包括TC台,T台等直播平台的
3.即使是2.0的代码,也不够效率,实际上2.0的核心:get()方法请求数据是多余的,因为在打开爱丽丝的时候本来就会请求一个tasklist.json,用get()方法则又请求了一次,试想如果每个访问爱丽丝的用户都装了我这个脚本,那么对爱丽丝的负担将会是原来的2倍!更何况第二次请求的延迟直接决定了URL生成的速度,这将会影响到用户的体验。有没有一个方法,可以获取到已经请求获得的tasklist.json呢?

解决思路:似乎爱丽丝是由Ajax动态加载的网页,往这方面去思考
,get()方法请求tasklist.json虽然是不效率的,但是我们可以由此延伸想到,是否可以用这个方法请求到节目频道呢?如果获取到了节目频道的数据,那么T台,TC台跳转的问题也就迎刃而解了,因为T台,TC台直播间的地址,是由主站地址加上频道地址构成的固定地址,而不是像油管那样每一场直播的地址都不一样。
全新2.0代码:

// ==UserScript==
// @name         爱丽丝 直播间跳转2.0
// @namespace    http://tampermonkey.net/
// @version      0.1.6
// @description  try to take over the world!
// @author       You
// @match        https://*/main/broadcast
// @grant        none
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js
// ==/UserScript==

(function () {
   
    'use strict';

    async function getStream() //获取直播间数据
    {
   
        return new Promise(resolve => {
   
            $.get("https://*/api/broadcast/taskList.json",//*手动替换为爱丽丝主站域名
                function (resp) {
   
                return resolve(resp);
            });
        });
    }
    async function getChannel() //获取频道数据
    {
   
        return new Promise(resolve => {
   
            $.get("https://*/api/channel/channelList.json",//*手动替换为爱丽丝主站域名
                function (resp) {
   
                return resolve(resp);
            });
        });
    }
    function exchange(stdata, url_, url_2) {
   
        let pn = parseInt(document.querySelector('.number.active').innerText); //获取当前页码
        var cell_ = document.querySelectorAll('td.el-table_1_column_2'); //转播间ID
        var cell_2 = document.querySelectorAll('td.el-table_1_column_5'); //直播间标题
        for (let i = 0; i < 10; i++) {
   
            if ((i + (pn - 1) * 10) >= stdata.length)
                break;
            if (url_[i + (pn - 1) * 10]) {
   
                cell_[i].innerHTML = "<a href=\"" + url_[i + (pn - 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值