批量关注用户JS脚本"/>
掘金批量关注用户JS脚本
先声明,大概率会被封号,不在乎的可以用一下。
先放脚本代码:
let oneIsRunning = falselet allDone = falselet currentNodes = []let count = 0let html = document.all[0];let allCount = 0function getBtns () {let btns = document.querySelectorAll(".follow-btn")let ulList = document.querySelector('.tag-list')let unFollows = [].filter.call(btns, (e) => {return e.innerText === '关注'})if (btns.length >= 70) {console.log('当前元素长度超过60,正在裁剪___', btns.length);for (let i = 0; i < btns.length; i++) {let e = btns[i]if (i > 40) break;if (i <= 2) continuetry {ulList.removeChild(btns[i].parentElement.parentElement.parentElement)} catch (e) {console.warn(e);}}}currentNodes = unFollowsreturn { unFollows }}function likeOne (node) {if (oneIsRunning) {setTimeout(() => likeOne(node), parseInt(Math.random() * 2000))return}oneIsRunning = truecount += 1allCount += 1let txtIsDis = falsetry {txtIsDis = node.parentElement.querySelector('.username>span').innerText === '已注销'} catch (e) {console.log('error----1111');}if (txtIsDis) {oneIsRunning = false} else {setTimeout(() => {node.click()console.log('关注+1');oneIsRunning = false}, 200 + parseInt(1000 * (Math.random())))}// 如果这是最后一个,就重置所有计数器if (count >= currentNodes.length) {// debuggerconsole.log('当前已关注:', allCount)count = 0html.scrollTop = html.scrollHeight;setTimeout(() => loopLike(), 2000)}}let tryTimes = 0function loopLike () {let { unFollows } = getBtns()if (unFollows.length === 0 && tryTimes <= 1000) {console.log('没找到未关注用户,次数+1');html.scrollTop = html.scrollHeightsetTimeout(() => {tryTimes += 1loopLike()}, 2000)return}tryTimes = 0unFollows.forEach((e) => {likeOne(e)})}loopLike()
使用方法:
- 先去首页的榜单找到一个关注者特别多的用户,去到他的个人主页:
- 点击关注者去到关注者列表,按f12打开控制台,复制以上代码到控制台运行即可。
能看懂代码的可以修改一下点击关注按钮的随机时间。就在这段代码里:
1000表示1秒,自己酌情增加减少时间。
代码中做了删除多余dom元素的操作,不会让页面下拉用户过多导致页面卡顿。
更多推荐
掘金批量关注用户JS脚本
发布评论