B站评论区抽奖代码(copy)
大雄-DIY
2022年04月10日 07:44

// 获取时间 function get_date() {    var date = new Date(); var h = date.getHours(); var m = date.getMinutes(); var s = date.getSeconds(); h = h < 10 ? ('0&#​39; + h) : h; m = m < 10 ? ('0&#​39; + m) : m; s = s < 10 ? ('0&#​39; + s) : s;    var currentDate = "[&#​34; + h + ":&#​34; + m + ":&#​34; + s + "] &#​34;;    return currentDate; } // 从map获取下标为index的键 function get_map_key(map, index) { var i = 0; for (var [key, value] of map) { if(i == index) { return key; } i++; } } // 从map获取下标为index的值 function get_map_value(map, index) { var i = 0; for (var [key, value] of map) { if(i == index) { return value; } i++; } } // 遍历map function get_map(map) { for (var [key, value] of map) { console.log(key + " = &#​34; + value); } } console.log(get_date() + "程序开始运行&#​34;); console.log(get_date() + "定义图存储数据(自动去重)&#​34;); let name_map = new Map(); let id_map = new Map(); console.log(get_date() + "开始载入数据&#​34;); var page = 1; var my_loop; // 抽奖函数 function draw() {    // 循环次数    var len = document.getElementsByClassName("list-item reply-wrap&#​34;).length; for(var i=0; i<len; i++) { var name = document.getElementsByClassName("list-item reply-wrap&#​34;)[i].getElementsByClassName("con&#​34;)[0].getElementsByClassName("user&#​34;)[0].getElementsByTagName("a&#​34;)[0].innerText; var id = document.getElementsByClassName("list-item reply-wrap&#​34;)[i].getElementsByClassName("con&#​34;)[0].getElementsByClassName("user&#​34;)[0].getElementsByTagName("a&#​34;)[0].getAttributeNode("data-usercard-mid&#​34;).value; //console.log(name+",加入图&#​34;); name_map.set(name, page); id_map.set(id, page); } console.log(get_date() + "第&#​34;+page+"页数据存入Map完毕&#​34;); if(null != document.getElementsByClassName("next&#​34;)[0]) { page++; //console.log("自动翻页...&#​34;); document.getElementsByClassName("next&#​34;)[0].click(); //return true; } else { console.log(get_date() + "全部数据加载完毕&#​34;); console.log(get_date() + "总共&#​34; + name_map.size + "名用户&#​34;); // 生成随机数,直接打印中奖者信息 var lucky_num = parseInt(Math.random()*(name_map.size),10); console.log(" &#​34;); console.log("中奖用户ID为:&#​34; + get_map_key(id_map, lucky_num)); console.log("中奖用户名为:&#​34; + get_map_key(name_map, lucky_num)); console.log("中奖者位于页:&#​34; + get_map_value(name_map, lucky_num)); console.log(" &#​34;); console.log("程序运行结束&#​34;); clearInterval(my_loop); // 这就是注释 //return false; } } // 定时调用函数

my_loop = setInterval(draw, 1500);