爱丽丝 油猴脚本开发日志

2023-10-29 16:50

本文主要是介绍爱丽丝 油猴脚本开发日志,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

**

爱丽丝 油猴脚本开发日志

**
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'); //转播间IDvar 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].innerH

这篇关于爱丽丝 油猴脚本开发日志的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/302000

相关文章

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情

C#图表开发之Chart详解

《C#图表开发之Chart详解》C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对... 目录OverviChina编程ewSeries类总结OverviewC#中,开发图表功能的控件是Char

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD