b站python评论抽奖_JS实现b站动态评论区抽奖(含去重)

动态转发抽奖可以参考我其他的2篇文章

video

前期

测试页面链接:https://t.bilibili.com/394309046095520212?tab=2

动态评论数量为226,这个数量是全楼层的评论数量

共分为8页展示,一页首层人数20人

教程

1、访问页面

PC端打开浏览器,访问你的动态抽奖页面。点在评论上,不用点转发。

2、打开“检查”

鼠标右键,打开“检查”,一般的快捷键都是F12

长这样,我们需要在console(控制台)下输入代码。

3、贴入代码

超人性化设计,一步到位,还会打印所有用户名,如果不需要可以注释掉打印代码,就是下面那些console.log代码,注释使用//,不会的可以自行百度JS注释。

console.log("程序开始运行");

console.log("定义集合存储数据");

let name_set = new Set();

let id_set = new Set();

console.log("翻到第一页");

document.getElementsByClassName("tcd-number")[0].click();

document.getElementsByClassName("tcd-number")[0].click();

console.log("开始载入数据");

var page = 1;

var my_loop;

// 抽奖函数

function draw()

{

// 循环次数

for(var i=0; i

{

var name = document.getElementsByClassName("con")[i].getElementsByClassName("user")[0].getElementsByTagName("a")[0].innerText;

console.log(name+",加入集合");

name_set.add(name);

var id = document.getElementsByClassName("con")[i].getElementsByClassName("user")[0].getElementsByTagName("a")[0].getAttributeNode("data-usercard-mid").value;

id_set.add(id);

}

console.log("第"+page+"页数据存入Set完毕");

if(null != document.getElementsByClassName("next")[0])

{

page++;

console.log("自动翻页...");

document.getElementsByClassName("next")[0].click();

//return true;

}

else

{

console.log("全部数据加载完毕");

console.log("总共"+name_set.size+"名用户");

// 生成随机数,直接打印中奖者信息

var lucky_num = parseInt(Math.random()*(name_set.size),10);

console.log("中奖用户ID为:"+Array.from(id_set)[lucky_num]);

console.log("中奖用户名为:"+Array.from(name_set)[lucky_num]);

console.log("中奖者大概位于 第" +parseInt(lucky_num/20+1)+ "页");

clearInterval(my_loop);

// 这就是注释

//return false;

}

}

// 定时调用函数

my_loop = setInterval(draw, 1500);

实际运行测试如下,如果评论人数较多或者网速较慢,请修改最后一行my_loop = setInterval(draw, 1000);把这里的1000调大,1000代表1s,这是自动翻页的时间。

10页数据加载完毕后,这就是中奖者信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值