前言

赛博僵尸道长是针对微博兴趣推荐用户以及不活跃用户问题(俗称僵尸粉)而设计的,旨在轻松快捷地清除微博用户的僵尸粉,使得用户发出的微博获得更多有效曝光及互动。


​​​​更新公告

2022-07-07:
1.添加不相关用户清除功能
2.修复互相关注失效bug

2022-07-02:
1.修复内存泄漏问题。
2.添加可交互面板。

2022-06-29
1.修复深度清粉时页面异常的情况,并加快清理效率。
2.增加心跳复活功能。

2022-06-26:
提供 快速清粉 和 深度清粉 两个模式。
快速清粉:可选择清理满足以下条件的粉丝。

①兴趣推荐

②微博数<3且粉丝数<2 (可以修改参数和判断逻辑,详见说明)

③默认头像
深度清粉:在快速清粉的基础上,可以扫描并清理一定时间内没发微博或点赞的粉丝。(默认365天内,可修改参数)

注意:深度清粉会访问粉丝页面检查微博和点赞,效率较低。深度清粉模式运行时会访问每个粉丝的页面查看微博跟点赞,这是正常现象,不必恐慌


使用说明

代码仅适用于旧版微博,新版微博用户请切换回旧版微博。

复制后,电脑页面打开至粉丝页面的第一页,右键菜单->检查元素打开开发者工具,黏贴到console窗口后按Enter键运行代码。

运行代码后,关掉开发者工具,否则可能再清粉过程中引起网页崩溃,网页将变成如下图所示:

快速清粉参数

①清除兴趣推荐用户:清理通过兴趣推荐关注过来的用户。

②检查相互关注:如果是相互关注的用户则跳过。

③检查粉丝来源:开启后只检查通过兴趣推荐或者微博推荐关注过来的粉丝。

④清除不活跃用户:开启后将检查粉丝数微博数低于指定数量用户。

⑤最低粉丝数 和 最低微博数:用于判断用户活跃度。

⑥满足任一条件即清除:只要 粉丝数 微博数 小于给定的数值,即判断为不活跃用户。

​⑦清除默认头像用户:清理头像是默认头像的用户。

​深度清粉参数:

​①开启深度清粉:勾选后开启深度清粉模式,运行时会访问每个粉丝的页面查看微博跟点赞,一旦在指定时间内没有发过微博或点赞,则视为不活跃用户。

​②无视用户最近点赞:开启后深度模式将去检查用户点赞。

​③最小不活跃天数:用于判断用户是否不活跃。

④开启检查关注:勾选后会在深度清粉时去检查当前用户的共同关注

⑤最小共同关注用户数:用于判断当前用户是否属于同一关系圈。

⑥无视蓝V用户:开启后检查共同关注时跳过官方认证用户,企业号的僵尸最多,默认开启。

⑦无视黄V用户:开启后检查共同关注时跳过个人认证用户,个人认证号僵尸也比较多,可酌情开启。

​检测按钮:从当前页开始检测僵尸粉。(不做清理)

​清粉按钮:从当前页开始检测并清理僵尸粉。

重要事情说三遍:
粉丝页面里选择 排序->我未关注 后使用代码清理
粉丝页面里选择 排序->我未关注 后使用代码清理
粉丝页面里选择 排序->我未关注 后使用代码清理

如删粉力度不够,除了调高 最小粉丝数最小微博数 之外,还可将开关满足任一条件即清除打开,条件将变为只要 粉丝数 微博数 小于给定的数值,即判断为不活跃用户。

​进阶用法

① 名字为【用户xxxxxx】基本都是僵尸粉,针对此类用户,可以在搜索栏里搜索关键字“用户”,然后最小微博数跟最小粉丝数调高并打开开关满足任一条件即清除,加大力度清理。

使用前请仔细阅读说明。
使用前请仔细阅读说明。
使用前请仔细阅读说明。


代码

let removeTargetFans = false; /*是否删除符合条件的粉丝,默认关闭*/let deepSearchMode =false; /*是否开启深度清理模式*/
let ignoreLikes = true; /*是否无视用户最近点赞*/
let minDayCount = 180; /*最小不活跃天数*/
let checkConnection = false; /*是否检查微关系*/
let ignoreBlueV = true; /*无视蓝V用户*/
let ignoreYellowV = false; /*无视黄V用户*/
let minSameFollowedCount = 3; /*最小共同关注用户数*/let fansMinCount = 2; /*最小粉丝数*/
let weiboMinCount = 3; /*最小微博数*/let totalCount = 0;let checkIsFromRecommended = true; /*是否检查通过推荐关注*/
let checkIsInactive = true; /*是否检查不活跃用户*/
let checkFansOrWeibo = false; /*是否只判断粉丝数或微博数*/
let checkIsFollowing =true; /*是否检查相互关注*/
let checkIsDefaultIcon = false; /*是否检查默认头像*/
let checkIsNormalFollowed = false; /*是否检查关注来源*/let isError = false;
let isRunning = false;function clearLog()
{let logger = document.querySelector("p.logger");logger.innerHTML = "";
}function logError(msg){let logger = document.querySelector("p.logger");let parent = logger.parentElement;logger.innerHTML +="<span style='color: darkred; font-weight:bold;'>" + msg + "</span><br>";parent.scrollTop = parent.scrollHeight;
}function logSuccessMsg(msg){let logger = document.querySelector("p.logger");let parent = logger.parentElement;logger.innerHTML +="<span style='color: forestgreen;'>" + msg + "</span><br>";parent.scrollTop = parent.scrollHeight;
}function  logImportantMsg(msg)
{let logger = document.querySelector("p.logger");let parent = logger.parentElement;logger.innerHTML +="<pre style='font-weight:bold'>" + msg + "</pre>";parent.scrollTop = parent.scrollHeight;
}function logMsg(msg){let logger = document.querySelector("p.logger");let parent = logger.parentElement;logger.innerHTML +="<pre style='tab-size: 15em;'>" + msg + "</pre>";parent.scrollTop = parent.scrollHeight;
}
function checkRunning(iframe, addr)
{if(!isRunning){if(iframe != null){iframe.onload = () => { iframe.contentDocument.body.querySelector("div[node-type=outer]")?.remove(); };iframe.contentWindow.location.assign(addr);iframe.src = addr;}if(removeTargetFans)logImportantMsg("总共删除了 " + totalCount + " 个疑似僵尸粉");elselogImportantMsg("总共发现了 " + totalCount + " 个疑似僵尸粉");}return isRunning;
}
async function removeFanMainFunc(startIndex) {const delay = ms => new Promise(res => setTimeout(res, ms));const minute = 1000 * 60;const hour = minute * 60;const day = hour * 24;clearTimeout();isError = false;if(!checkRunning(null, "")) return;let iframe = document.querySelector("iframe");let currPageAddr = iframe.src;let next = iframe.contentDocument.querySelector(".page.next.S_txt1.S_line1");if(next == null){await new Promise( (resolve) => {if(iframe.contentWindow.location.href === currPageAddr){iframe.contentWindow.location.reload();}else{iframe.contentWindow.location.assign(currPageAddr);}iframe.onload = ()=>{resolve();}});await delay(500);next = iframe.contentDocument.querySelector(".page.next.S_txt1.S_line1");if(next == null){isError = true;if(removeTargetFans)logError("页面异常,退出程序。总计清理了 "+ totalCount + " 个疑似僵尸粉");elselogError("页面异常,退出程序。总计发现了 "+ totalCount + " 个疑似僵尸粉");return;}}let currPageNum = iframe.contentDocument.querySelector(".page.S_txt1.S_bg1").innerText;let nextPageAddr = next.href;let fans = iframe.contentDocument.querySelectorAll("li.follow_item.S_line2");let fanInfos = [];let count = 0;for(let i = startIndex; i < fans.length; i++){let isFromRecommended = false;let isInactive = false;let isFollowing = false;let isDefaultIcon = false;let isNormalFollowed = false;let fansCount, weiboCount;let link2s = fans[i].querySelector("div.info_from")?.querySelector("a");isNormalFollowed = link2s != null && link2s.innerText !== "兴趣推荐" && link2s.innerText !== "微博推荐";/*是否为非推荐的会员*/if(isNormalFollowed && fans[i].querySelector("a[title=微博会员]") != null)continue;/*关注来源*/if(checkIsFromRecommended){isFromRecommended = link2s != null && link2s.innerText === "兴趣推荐";}let userData = fans[i].getAttribute('action-data');let userInfos = userData.split('&');let userID = userInfos[0].slice(4);let userName = userInfos[1].slice(6);/*粉丝数与微博数*/if(checkIsInactive){let infos = fans[i].querySelectorAll("span.conn_type.W_vline.S_line1");if(infos.length >= 2){fansCount = infos[0].querySelector("a[target=_blank]").innerText;if(fansCount[fansCount.length - 1] === '万') fansCount = fansCount.slice(0, fansCount.length - 1) * 10000;else if(fansCount[fansCount.length - 1] === '亿') fansCount = fansCount.slice(0, fansCount.length - 1) * 100000000;weiboCount = infos[1].querySelector("a[target=_blank]").innerText;if(weiboCount[fansCount.length - 1] === '万') weiboCount = weiboCount.slice(0, weiboCount.length - 1) * 10000;else if(weiboCount[fansCount.length - 1] === '亿') weiboCount = weiboCount.slice(0, weiboCount.length - 1) * 100000000;fansCount = parseInt(fansCount);weiboCount = parseInt(weiboCount);if(checkFansOrWeibo)isInactive = fansCount < fansMinCount || weiboCount < weiboMinCount;elseisInactive = fansCount < fansMinCount && weiboCount < weiboMinCount || weiboCount === 0 || fansCount === 0;}}/*是否为默认头像*/if(checkIsDefaultIcon){let icon = fans[i].querySelector("img");isDefaultIcon = icon != null && icon.src.includes("/default/images/default_avatar_");}/*是否互相关注*/if(checkIsFollowing){isFollowing = fans[i].querySelector("a.W_btn_b").innerText != null && fans[i].querySelector("a.W_btn_b").innerText.includes("互相关注");}let fanMainPageAddr = fans[i].querySelector('a.S_txt1').href + "&is_all=1";fanInfos.push({userID, userName, fansCount, weiboCount, fanMainPageAddr, isInactive, isFromRecommanded: isFromRecommended, isNormalFollowed, isDefaultIcon, isFollowing})}for(let i = 0; i < fanInfos.length; i++){if(!checkRunning(iframe, currPageAddr)) return;let info = fanInfos[i];let isZombie = false;if(!info.isFollowing && (info.isDefaultIcon || !(checkIsNormalFollowed && info.isNormalFollowed)))if(info.isFromRecommanded || info.isInactive || info.isDefaultIcon)isZombie = true;if(deepSearchMode && !isZombie && !info.isFollowing){await new Promise( (resolve) => {iframe.contentWindow.location.assign(info.fanMainPageAddr); iframe.onload = ()=>{ iframe.contentDocument?.body.querySelector("div[node-type=outer]")?.remove(); resolve();}});await delay(500);let weibos = iframe.contentDocument.querySelectorAll("div.WB_cardwrap.WB_feed_type.S_bg2.WB_feed_like");if(weibos.length === 0){if(info.weiboCount > 0){await new Promise( (resolve) => {iframe.contentWindow.location.reload(); iframe.onload = ()=>{ iframe.contentDocument?.body.querySelector("div[node-type=outer]")?.remove();  resolve();}});await delay(500);}weibos = iframe.contentDocument.querySelectorAll("div.WB_cardwrap.WB_feed_type.S_bg2.WB_feed_like");}if(weibos.length > 0){let invalidWeiboCount = 0;let validWeiboCount = 0;for(let weiboIndex = 0; weiboIndex < weibos.length; weiboIndex++){if(ignoreLikes && weibos[weiboIndex].querySelector("div.WB_cardtitle_b.S_line2") != null)continue;let weiboInfos = weibos[weiboIndex].querySelector("div.WB_from.S_txt2").querySelectorAll("a.S_txt2");if(weiboInfos.length >= 2){let weiboSrc = weiboInfos[1].innerText;if(weiboSrc != null && (weiboSrc.includes("生日动态") || weiboSrc.includes("渔场") ||weiboSrc.includes("活动") || weiboSrc.includes("森林")|| weiboSrc.includes("微博积分") ||weiboSrc.includes("支付宝") || weiboSrc.includes("淘宝") || weiboSrc.includes("芭芭农场") ||weiboSrc.includes("任务") || weiboSrc.includes("签到") || weiboSrc.includes("新浪游戏") ||weiboSrc.includes("微博游戏") || weiboSrc.includes("红包") || weiboSrc.includes("微博会员")||weiboSrc.includes("微博运动") || weiboSrc.includes("熊猫守护者") || weiboSrc.includes("点淘"))) {invalidWeiboCount++;continue;}}if(Math.round((Math.round(new Date().getTime()) - weiboInfos[0].getAttribute("date"))/day) <= minDayCount){validWeiboCount++;}}if(invalidWeiboCount > 3){info.isIrrelevant = true;isZombie = true;}if(validWeiboCount < 3){info.isInactive = true;isZombie = true;}}else{if(iframe.contentDocument.querySelector('div.WB_cardwrap.WB_empty_height.S_bg2') != null){info.isInactive = true;isZombie = true;}}if(!isZombie && checkConnection){let connection = iframe.contentDocument.querySelector("div.PCD_user_a.PCD_user_a1")?.querySelector("div.WB_innerwrap");if(connection != null){let connInfos = connection.querySelectorAll("h2.main_title.W_fb.W_f14");if(connInfos.length > 0){let fan_following = connInfos[0].querySelector("a");let needSearch = true;if(!fan_following.innerHTML.includes("共同关注")) {info.isIrrelevant = true;isZombie = true;}if(connInfos.length >= 2) {let fan_fans = connInfos[1].querySelector("a");if (fan_fans.innerHTML.includes("我关注的人也")) {info.isInactive = false;needSearch = false;}}let minCount = minSameFollowedCount;if(!info.isNormalFollowed) minCount += 5;if(needSearch && !isZombie){let followingPageAddr = fan_following.href;let validCount = 0;for(validCount = 0;validCount < minCount && followingPageAddr !== "";){if(!checkRunning(iframe, currPageAddr)) return;await new Promise( (resolve) => {iframe.contentWindow.location.assign(followingPageAddr); iframe.onload = ()=>{iframe.contentDocument?.body.querySelector("div[node-type=outer]")?.remove(); resolve();}});await delay(500);let followings = iframe.contentDocument.body.querySelectorAll("li.follow_item.S_line2");for(let fIndex = 0; fIndex < followings.length; fIndex++){let currFollowing = followings[fIndex];if(ignoreBlueV && (currFollowing.querySelector("i.W_icon.icon_approve_co") != null || currFollowing.querySelector("i.W_icon_co1.icon_approve_co") != null))continue;if(ignoreYellowV && (currFollowing.querySelector("i.W_icon.icon_approve_gold") != null || currFollowing.querySelector("i.W_icon.icon_approve") != null))continue;validCount++;}followingPageAddr = "";let nextFollowingBtn = iframe.contentDocument?.body.querySelector("a.page.next.S_txt1.S_line1");if(nextFollowingBtn != null)followingPageAddr = nextFollowingBtn.href;}if(validCount < minCount) {info.isIrrelevant = true;isZombie = true;}}}else{info.isIrrelevant = true;isZombie = true;}}}}if(isZombie){let reason = "原因: ";if(info.isFromRecommanded)reason += " 兴趣推荐";if(info.isInactive)reason += " 不活跃用户";if(info.isIrrelevant)reason += " 不相关用户";if(info.isDefaultIcon)reason += " 默认头像";if(removeTargetFans){let fData = new FormData();fData.append("uid", info.userID);fData.append("_t", "0");const json = await fetch('/aj/f/remove?ajwvr=6&__rnd=' + Math.round(new Date().getTime()), {method : "POST",body : fData}).then(response => response.json()).catch((e) => {});if(json.code == 100000){logSuccessMsg(info.userName + "\t删除成功 " + reason);count++;totalCount++;}elselogError(info.userName + "\t删除失败 ");}else{logMsg(info.userName + "\t疑似僵尸粉 " + reason);count++;totalCount++;}}}if(!checkRunning(iframe, currPageAddr)) return;if (currPageNum <= 250 && nextPageAddr !== "") {startIndex = 0;let nextAddr = nextPageAddr;if(removeTargetFans){logImportantMsg("第 " + currPageNum + " 页删除了 " + count + " 个粉丝");if(count > 0){startIndex = fans.length - count;if(startIndex < 0) startIndex = 0;nextAddr = currPageAddr;}}else{logImportantMsg("第 " + currPageNum + " 页发现了 " + count + " 个疑似僵尸粉");}iframe.onload = () => { setTimeout(()=>RemoveFans(startIndex), 1000); iframe.onload = null; iframe.contentDocument.body.querySelector("div[node-type=outer]")?.remove();};if(iframe.contentWindow.location.href === nextAddr){iframe.contentWindow.location.reload();iframe.src = nextAddr;}else{iframe.contentWindow.location.assign(nextAddr);iframe.src = nextAddr;}}else{clearInterval();SetMode("ready");if(removeTargetFans)logImportantMsg("总共删除了 " + totalCount + " 个疑似僵尸粉");elselogImportantMsg("总共发现了 " + totalCount + " 个疑似僵尸粉");iframe.onload = () => { iframe.contentDocument.body.querySelector("div[node-type=outer]")?.remove();};iframe.contentWindow.location.assign(currPageAddr);iframe.src = currPageAddr;}
}function RecoverRemoveFansFunc()
{if(isError){let p = new Promise(function(){removeFanMainFunc(0)});}
}
function RemoveFans(startIndex){let p = new Promise(function(){removeFanMainFunc(startIndex)});
}let InitParameters = ()=>
{checkIsFromRecommended = document.body.querySelector("input#checkIsFromRecommended").checked;checkIsFollowing = document.body.querySelector("input#checkIsFollowing").checked;checkIsNormalFollowed = document.body.querySelector("input#checkIsNormalFollowed").checked;checkIsDefaultIcon= document.body.querySelector("input#checkIsDefaultIcon").checked;checkIsInactive = document.body.querySelector("input#checkIsInactive").checked;checkFansOrWeibo = document.body.querySelector("input#checkFansOrWeibo").checked;fansMinCount = parseInt(document.body.querySelector("input#fansMinCount").value);weiboMinCount = parseInt(document.body.querySelector("input#weiboMinCount").value);deepSearchMode = document.body.querySelector("input#deepSearchMode").checked;ignoreLikes = document.body.querySelector("input#ignoreLikes").checked;minDayCount = parseInt(document.body.querySelector("input#minDayCount").value);checkConnection = document.body.querySelector("input#checkConnection").checked;ignoreBlueV = document.body.querySelector("input#ignoreBlueV").checked;ignoreYellowV = document.body.querySelector("input#ignoreYellowV").checked;minSameFollowedCount = parseInt(document.body.querySelector("input#minSameFollowedCount").value);
};let StartCheckFans = ()=>
{SetMode("running");InitParameters();clearLog();totalCount = 0;removeTargetFans = false;isRunning = true;setInterval(RecoverRemoveFansFunc, 15000);RemoveFans(0);
};let StartRemoveFans = ()=>
{SetMode("running");InitParameters();clearLog();totalCount = 0;removeTargetFans = true;isRunning = true;setInterval(RecoverRemoveFansFunc, 15000);RemoveFans(0);
};let StopFunc = ()=>
{SetMode("ready");clearInterval();clearTimeout();isRunning = false;
};let SetDeepSearchParam = ()=>{let disable = document.body.querySelector("input#deepSearchMode").checked === false;let params = document.body.querySelectorAll("input.DeepSearchParam");for(let i = 0; i < params.length; i++)params[i].disabled = disable;
};let SetMode = (mode) =>{let params = document.querySelector("div.parameter").querySelectorAll("input");let readyPanel = document.querySelector("div.ready");let runningPanel = document.querySelector("div.running");if(mode === "running"){for(let i = 0; i < params.length; i++) params[i].disabled = true;readyPanel.style.display = "none";runningPanel.style.display = "";}else if(mode === "ready"){for(let i = 0; i < params.length; i++) params[i].disabled = false;runningPanel.style.display = "none";readyPanel.style.display = "";}
};let ReplaceHTML = ()=>
{document.head.innerHTML = '<meta charset="UTF-8"><title>赛博僵尸道长</title>';let body = '<div class="left" style="position: fixed;  display: flex; flex-direction: column;top:0; left:0; bottom:0; width:500px; background-color: burlywood;"><h1 style="text-align:center; margin: 10px;">        赛博僵尸道长<span style="font-size: 20px;">v1.2</span></h1><div class="parameter"><h3>快速清粉参数</h3><table style="width: 100%; font-size: 15px;" ><tr><td><input id="checkIsFromRecommended" type="checkbox" style="height: 15px; width: 15px;" checked>清除兴趣推荐用户</td><td><input id="checkIsFollowing" type="checkbox" style="height: 15px; width: 15px;" checked>检查相互关注</td><td><input id="checkIsNormalFollowed" type="checkbox" style="height: 15px; width: 15px;">检查粉丝来源</td></tr><tr style="height: 10px;"></tr><tr><td rowspan="2"><input id="checkIsInactive" type="checkbox" style="height: 15px; width: 15px;" checked>清除不活跃用户</td><td> 最低粉丝数<input id="fansMinCount" type="number" style="height: 15px; width: 60px;" min="0" value="2" ></td><td rowspan="2"><input id="checkFansOrWeibo" type="checkbox" style="height: 15px; width: 15px;" >满足任一条件即清除</td></tr><tr><td> 最低微博数<input id="weiboMinCount" type="number" style="height: 15px; width: 60px;" min="0" value="3" ></td></tr><tr><td><input id="checkIsDefaultIcon" type="checkbox" style="height: 15px; width: 15px;">清除默认头像用户</td></tr></table><h3>深度清粉参数</h3><table style="width: 100%; font-size: 15px;"><tr><td><input id="deepSearchMode" type="checkbox" style="height: 15px; width: 15px;" οnchange="SetDeepSearchParam();">开启深度清粉</td><td> 最小不活跃天数:<input class="DeepSearchParam" id="minDayCount" type="number" style="height: 15px; width: 40px;" min="0" value="180" disabled></td><td><input class="DeepSearchParam" id="ignoreLikes" type="checkbox" style="height: 15px; width: 15px;" checked disabled>无视用户最近点赞</td></tr><tr></tr><tr><td rowspan="2"><input class="DeepSearchParam" id="checkConnection" type="checkbox" style="height: 15px; width: 15px;" disabled>开启检查关注</td><td rowspan="2"> 最小共同关注数:<input class="DeepSearchParam" id="minSameFollowedCount" type="number" style="height: 15px; width: 40px;" min="0" value="3" disabled></td><td><input class="DeepSearchParam" id="ignoreBlueV" type="checkbox" style="height: 15px; width: 15px;" checked disabled>无视蓝V用户</td></tr><tr><td><input class="DeepSearchParam" id="ignoreYellowV" type="checkbox" style="height: 15px; width: 15px;" disabled>无视黄V用户</td></tr></table></div><div class="ready"><button style="position: relative; height: 45px; width:48%; font-size: 16px; margin: 4px 2px;" οnclick="StartRemoveFans();">清粉</button><button style="position: relative; height: 45px; width:48%; font-size: 16px; margin: 4px 2px;" οnclick="StartCheckFans();">检测</button></div><div class="running" style="display: none"><button style="position: relative; height: 45px; width:98%; font-size: 16px; margin: 4px 2px;" οnclick="StopFunc();">停止</button></div><div style="position: relative; margin: 4px 2px; flex-grow: 1; width: 100%; background-color: azure; overflow-y: scroll;"><p class="logger"></p></div><div style="position: absolute; bottom: 0px; height: 1px; width:100%; background-color: black"></div></div><div style="position: fixed; top:0; left: 500px; bottom: 0; right: 0;"><iframe class="web" src="" sandbox="allow-same-origin allow-scripts" style="width:100%; height:100%;"></iframe></div>';document.body.innerHTML = body.replaceAll('ο', 'o');let iframe = document.body.querySelector('iframe.web');iframe.src = window.location.href;iframe.onload=()=>{ iframe.contentDocument.body.querySelector("div[node-type=outer]")?.remove(); }
}ReplaceHTML();

赛博僵尸道长 v1.2相关推荐

  1. 智能视觉组赛博 -10赛后反馈

    中国计量大学赛博-10(智能视觉组)队员对于参加第十六届智能车竞赛进行总结与展望. §01 赛后反馈 一.实验室介绍 赛博智能车实验室成立于2012年,隶属于中国计量大学信息学院,历来以技术为核心,以 ...

  2. 智能车竞赛技术报告 | 智能车视觉 - 中国计量大学 - 赛博-10

    学 校:中国计量大学 队伍名称:赛博-10    参赛队员:陈 峰      洪晨辰    毛华斐    带队教师:金小萍    陈东晓    第一章 引言 ■ 1.1 概述   全国大学生智能汽车竞 ...

  3. 智能车竞赛技术报告 | 节能信标组 - 中国计量大学 - 赛博 - 8

    学校:中国计量大学    队伍名称:赛博-8       参赛队员:叶佳航 周豪 杨敬淳 带队教师:金小萍 陈东晓    第一章 引言 1.1智能车研究背景 1.1.1发展历史   近些年,一方面随着 ...

  4. B站up主硬核打造「螃蟹火星车」,遥控、拍照、测距,还能做人脸检测;网友:赛博螃克...

    鱼羊 白交 发自 凹非寺 量子位 报道 | 公众号 QbitAI 吃完的螃蟹壳是干垃圾还是湿垃圾? 或者,裹上一层黑科技,让它变身「火星车」,馋哭隔壁家小孩. 更硬核的是,这样一台螃蟹火星车,并非只是 ...

  5. 侠客博客v1.0 正式版版本发布

    欢迎来到本页面,我猜想您一定是带着疑问进来的,那么首先我来介绍一下 侠客博客 这个软件吧.他是一款能帮助SEO人士自动做外链的软件.目标是在未来几个月发展成为类似虫虫一样庞大的外链软件.帮助站长提高网 ...

  6. 什么是元宇宙、新基建、赛博空间?7个最火科技名词解释,都在这里了

    导读:人们从学术.科幻.政府.产业等角度对数字未来有一系列设想,在过去.现在与未来,这些设想引导我们去探索与创造.这里做简要梳理供你参考. 作者:方军 来源:大数据DT(ID:hzdashuju) 0 ...

  7. “跨次元”检测模型hold住各种画风,真人赛博,在线Demo可玩

    来源:量子位 目标检测种类多达20000+种的AI,你见过吗? 不仅准确"揪出"每个物体所在的位置,分类效果非常准确: 插画版赛博恐龙也没问题: 甚至还能检测杂志封面甚至漫画中的物 ...

  8. “跨次元”目标检测模型hold住各种画风,真人赛博恐龙梵高画作都能识别,复旦校友一作,在线Demo可玩...

    萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 目标检测种类多达20000+种的AI,你见过吗? 不仅准确"揪出"每个物体所在的位置,分类效果非常准确: 插画版赛博恐龙也没问 ...

  9. 修一座安全的广厦,庇护赛博世界的流浪者

    问一个极具争议的问题:你觉得自己有没有被应用软件追踪? 很多朋友都觉得是,不然怎么解释刚刚在网上搜索过运动鞋,下一秒打开电商软件就能被精准推送相关产品呢? 你并不是一个人. 9月份发布的<App ...

  10. CyberCat赛博猫,进阶版AXIE

    欢迎各位新老朋友,我们细说P2E(Play to Earn),为广大用户提供一个深入了解链游的平台.不定期的跟大家分享一些精品项目和最新链游方向,也欢迎大家关注我们.我们第十六期分享的是趣味性游戏Cy ...

最新文章

  1. dedecms 财付通接口
  2. Linux 用户空间和内核空间指的是什么?
  3. sh: lmstat: 没有那个文件或目录_没有天生的合适,只有磨合出来的感情
  4. html中alert的用法_【渗透实战】通过HTML命名空间混淆绕过DOMPurify实现XSS
  5. python补充urllib教程,Python爬虫之urllib基础用法教程
  6. Windows7部署WordPress傻瓜式教程-cnblogs
  7. 大端和小端存储模式解析
  8. vscode eslint插件对vue文件无效
  9. PyCharm中,如何成功 import caffe?
  10. hαbits的意思_h【snail吧】_百度贴吧
  11. 4 EDA实用技术与教程【基本语句1】
  12. php自带常量_php中的常量是什么 - php完全自学手册 - php中文网手册
  13. oracle显示工资计算税款,工资税收如何计算公式
  14. c语言编程利用泰勒级数,C语言程序设计:用泰勒级数计算cos
  15. 介绍几款网页数据抓取软件
  16. 还不知道 XR、AR、VR、MR 有什么不同?
  17. vs不允许使用不完整的类型_擦痕破损严重老照片修复,基础工具辅助绘画,不使用素材完整修复...
  18. 知识图谱基础入门(一)
  19. OfficeOnline和OpenOffice对比
  20. exls表格搜索快捷键_excel表格中的快捷键

热门文章

  1. 大数据日志分析Hadoop项目实战
  2. ARP报文目的MAC为什么不是广播地址?
  3. 计算机英语口语900句,日常英语口语
  4. 中国城市电话区号对照表,不包括台湾
  5. Windows NAT端口映射
  6. php容器下安装gd库
  7. 【云原生】内存数据库如何发挥内存优势
  8. C语言lcd实现奥运五环编程,用C语言程序来设计奥运五环图案.doc
  9. 使用单链表统计英文文本单词个数
  10. 2021 部分团队的年终总结