[javascript]灯塔100首优秀歌曲连续收听分析
本帖最后由 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').getAttribute('aria-valuenow')
2.点击播放列表下一首歌曲
播放列表获取:document.getElementsByClassName('videoLists_bd').children;
点击用click()事件即可
3.播放按钮点击
按钮获取: document.getElementsByClassName('vjs-big-play-button');
点击用click()事件即可
第二部分完整代码:F12 Console面板调试
var lists = document.getElementsByClassName('videoLists_bd').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').getAttribute('aria-valuenow');//progress
if(eleDiv == '100.00'){//播放完毕
i=i+1;
if(i >= lists.length){
alert("over!!");
clearInterval(interval);
return;
}
lists.click();
isBtnplayClicked = false;
console.log(lists.title);
return;
}
if(isBtnplayClicked == false){
btnPlay = document.getElementsByClassName('vjs-big-play-button');//btn
btnPlay.click();//点击
isBtnplayClicked = true;
console.log('播放');
return;
}
console.log('.');
}
interval = setInterval(myWork,2000);
20191111 对于11月份的新任务,直接复制代码,在console里面粘贴并回车执行即可 本帖最后由 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窗口,观察一下就会发现这个接口 一、歌曲列表从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
找到了这个地址,如何修改?
看不懂。这是做什么用的。 各位大哥,请问现在有什么工具可以“协助”学习灯塔在线吗? 楼主关注下呗。 Network标签页分析一下可知,接口为:http://dkt.dtdjzx.gov.cn/subcourse/subCoursePage?pagenum=1&pagesize=12
这个接口怎么找到的? 卡在这一步了,请指教。
如何修改,才是正确的姿势?一直没有效果。 wangfdsa 发表于 2019-9-30 14:45
各位大哥,请问现在有什么工具可以“协助”学习灯塔在线吗?
有视频脚本,不过不好用了,还能凑合用 是不是可以理解为:把本来一页12首改成100首,然后自动播放并点击下一曲。
页:
[1]
2