zoukankan      html  css  js  c++  java
  • B站播单按时间统计进度

    F12打开控制台,直接拷贝以下代码回车,注意修改页号为当前页

    var targetPageNum = 1; //修改为当前观看到的页号,第一个为1。
    var menuList = $(jQuery('.list-box .duration'));
    if(targetPageNum < 0 || targetPageNum > menuList.length) {
        alert("页号范围为0-" + menuList.length);
    }else {
        var currentHour = caculateHour(targetPageNum);
        var totalHour = caculateHour(menuList.length);
        var percent = ((currentHour / totalHour) * 100).toFixed(2) + "%";
        console.log("当前播单观看进度:" + percent + "。观看总时长" + currentHour.toFixed(2) + "小时,播单总时长" + totalHour.toFixed(2) + "小时");
    }
    
    function caculateHour(index) {
        let hour = 0.0;
        for(var i = 0; i < index; i++) {
            let hourArr = menuList[i].innerText.split(":");
            
            if(hourArr.length === 4) {
                hour += parseInt(hourArr[0]) * 24.0;
                hour += (parseInt(hourArr[1]) * 1.0);
                hour += (parseInt(hourArr[2]) * 1.0 / 60);
                hour += (parseInt(hourArr[3]) * 1.0 / 3600);
            }
    
            if(hourArr.length === 3) {
                hour += parseInt(hourArr[0]) * 1.0;
                hour += (parseInt(hourArr[1]) * 1.0 / 60);
                hour += (parseInt(hourArr[2]) * 1.0 / 3600);
            }
    
            if(hourArr.length === 2) {
                hour += (parseInt(hourArr[0]) * 1.0 / 60);
                hour += (parseInt(hourArr[1]) * 1.0 / 3600);
            }
    
            if(hourArr.length === 1) {
                hour += (parseInt(hourArr[0]) * 1.0 / 3600);
            }
        }
    
        return hour;
    }
    

      参考:

    https://github.com/xnuwu/bilibili-percent

     
  • 相关阅读:
    数学符号表
    对比深度学习十大框架:TensorFlow最流行但并不是最好
    支持向量机通俗导论(理解SVM的三层境界)
    Annotation
    Struts2的拦截器
    DLL文件的引用
    JS引擎
    Windows窗口的创建
    解决构造器多参数的设计问题
    静态工厂对比构造器之优缺点
  • 原文地址:https://www.cnblogs.com/yangxunwu1992/p/14482768.html
Copyright © 2011-2022 走看看