吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4534|回复: 19
收起左侧

[Java 原创] [javascript]灯塔100首优秀歌曲连续收听分析

  [复制链接]
windtrace 发表于 2019-9-30 11:20
本帖最后由 windtrace 于 2019-11-11 13:31 编辑

灯塔大课堂推出了100首优秀歌曲,非常经典,但每首时间较短,需要手动点击下一首,影响体验,现做一下简单分析
一、歌曲列表从12首扩展到100首
chrome F12 中的Network标签页分析一下可知,接口为:http://dkt.dtdjzx.gov.cn/subcourse/subCoursePage?pagenum=1&pagesize=12
其中的pagesize修改成100即可,工具用任意能够拦截http请求的即可,以fiddler为例,命令行输入:
urlreplace pagesize=12 pagesize=100

二、完成后自动收听下一首
涉及三个步骤:
1.当前进度。用进度条<div>标签的“aria-valuenow”属性即可,值为“100.00”时表示收听完毕。获取代码:
document.getElementsByClassName('vjs-progress-holder vjs-slider vjs-slider-horizontal')[0].getAttribute('aria-valuenow')
2.点击播放列表下一首歌曲
播放列表获取:document.getElementsByClassName('videoLists_bd')[0].children;
点击用click()事件即可
3.播放按钮点击
按钮获取: document.getElementsByClassName('vjs-big-play-button')[0];
点击用click()事件即可

第二部分完整代码:F12 Console面板调试
[Asm] 纯文本查看 复制代码
var lists = document.getElementsByClassName('videoLists_bd')[0].children;//歌曲<div>列表

var eleDiv = null;//progress
var btnPlay = null;//btn
var isBtnplayClicked = false;
var interval = null;//计时器
var i=0;//当前歌曲索引
function myWork(){
        eleDiv = document.getElementsByClassName('vjs-progress-holder vjs-slider vjs-slider-horizontal')[0].getAttribute('aria-valuenow');//progress
        if(eleDiv == '100.00'){//播放完毕
                i=i+1;
                if(i >= lists.length){
                        alert("over!!");
                        clearInterval(interval);
                        return;
                }
                lists[i].click();
                isBtnplayClicked = false;
                console.log(lists[i].title);
                return;
        }
        if(isBtnplayClicked == false){
                btnPlay = document.getElementsByClassName('vjs-big-play-button')[0];//btn
                btnPlay.click();//点击
                isBtnplayClicked = true;
                console.log('播放');
                return;
        }
console.log('.');
}
interval = setInterval(myWork,2000);


20191111 对于11月份的新任务,直接复制代码,在console里面粘贴并回车执行即可
2019-09-30_140206.png

点评

楼主加油,小白学了很多。  发表于 2019-10-1 22:45

免费评分

参与人数 6吾爱币 +6 热心值 +4 收起 理由
linzi + 1 + 1 灯塔xx教育网视频如何连续学习,恳请也出个脚本吧
心猿 + 1 新的任务又来了,有新教程吗~
xtuuqtbl + 1 + 1 显示100首没搞懂,自动播放12首倒是可以了
muyisd + 2 + 1 有没有适合小白的方法?
wangfdsa + 1 谢谢@Thanks!请问第一步怎么操作?
xmtt2008 + 1 有个视频就好了,代码真心不太那个撒!!支持一下

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| windtrace 发表于 2019-10-1 19:27
本帖最后由 windtrace 于 2019-10-1 19:30 编辑
muyisd 发表于 2019-10-1 03:03
卡在这一步了,请指教。
如何修改,才是正确的姿势?一直没有效果。

在fiddler的命令行(快捷键alt+q)输入  urlreplace pagesize=12 pagesize=100,fidder会自动将http://dkt.dtdjzx.gov.cn/subcour ... 1&pagesize=12
改为
http://dkt.dtdjzx.gov.cn/subcour ...&pagesize=100
这样,会在歌曲列表中显示100首歌,而不是默认的12首

接口通过F12中的network窗口,观察一下就会发现这个接口
muyisd 发表于 2019-10-1 02:15
一、歌曲列表从12首扩展到100首
chrome F12 中的Network标签页分析一下可知,接口为:http://dkt.dtdjzx.gov.cn/subcour ... m=1&pagesize=12
其中的pagesize修改成100即可,工具用任意能够拦截http请求的即可,以fiddler为例,命令行输入:
urlreplace pagesize=12 pagesize=100

找到了这个地址,如何修改?
anlanchenxiang 发表于 2019-9-30 11:53
wangfdsa 发表于 2019-9-30 14:45
各位大哥,请问现在有什么工具可以“协助”学习灯塔在线吗?
muyisd 发表于 2019-9-30 23:31
楼主关注下呗。
muyisd 发表于 2019-10-1 02:08
Network标签页分析一下可知,接口为:http://dkt.dtdjzx.gov.cn/subcour ... m=1&pagesize=12

这个接口怎么找到的?
muyisd 发表于 2019-10-1 03:03
卡在这一步了,请指教。
如何修改,才是正确的姿势?一直没有效果。
1.jpg
xtuuqtbl 发表于 2019-10-1 19:29
wangfdsa 发表于 2019-9-30 14:45
各位大哥,请问现在有什么工具可以“协助”学习灯塔在线吗?

有视频脚本,不过不好用了,还能凑合用
xtuuqtbl 发表于 2019-10-1 19:31
是不是可以理解为:把本来一页12首改成100首,然后自动播放并点击下一曲。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 23:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表