批量删除微博js代码

  • 直接复制以下代码即可
const script = document.createElement('script')
script.setAttribute('src', 'https://lib.sinaapp.com/js/jquery/2.0.3/jquery-2.0.3.min.js')
script.onload = function() {
  var latestTime = Date.now()
 
  async function scrollToBottom() {
    $('html, body').scrollTop($(document).height())
    await sleep(800) // 等下一页加载完,(微博@当时我就没憋住)
 
    // 往下拉,拉到底部
    if ($('[node-type="lazyload"]').length && !$('a.page.prev').length) {
      scrollToBottom()
      return
    }
 
    console.log('加载完毕。')
    $('html, body').scrollTop(0)
    console.log('开始删除。')
    deleteWeibo()
  }
 
  async function deleteWeibo() {
    if ($('a[action-type="feed_list_delete"]').length > 1) {
      const $date = $('.WB_detail:first a[date]')
      const time = +$date.attr('date')
      // 设定一个时间,当删除程序发现要删除的微博发布时间大于这个时间时,删除程序直接停止
      const date = +new Date('2016-01-01 00:00:00')
 
      if (time > date) {
        console.log('到达了设定的时间,停止删除。')
        clearInterval(timer)
        return
      }
 
 
      $('a[action-type="feed_list_delete"]')[0].click()
      await sleep(500) // 等删除确认窗口打开
      $('a[action-type="ok"]').each(function() { this.click() })
      await sleep(500) // 等待删除请求完毕
      latestTime = Date.now() // 记录最后一次删除操作时间
      deleteWeibo()
    }
    else {
      // 处理最后一条
      var mid = $('div[mid]').last().attr('mid')
      // 进入下一页之后,上一页的最后一条没有被删掉,用 ajax 将它删除
      const deleteLastOne = () => $.post('https://weibo.com/aj/mblog/del', { mid: mid }).fail(async () => {
        console.log('删除最后一条失败,正在尝试重新删除。')
        await sleep(1000)
        deleteLastOne()
      })
      deleteLastOne()
 
      console.log('进入上一页。')
      $('a.page.prev')[0].click()
      await sleep(1000) // 确保下一页已经加载
      scrollToBottom()
    }
  }
 
  scrollToBottom()
 
  // // 心跳检测,是否还在正常跑,如果没有跑了,就重启服务
  const heartbeat = 30000
  var timer = setInterval(() => {
    const currentTime = Date.now()
    if (currentTime - latestTime < heartbeat * 1.5) {
      return
    }
    console.log('检测到任务失败,正在尝试重新启动。')
    $('[action-type="feed_list_page_morelist"] ul li:first a')[0].click() // 通过点击全部按钮来恢复加载微博
    $('html, body').scrollTop(0)
  }, heartbeat)
}
document.head.appendChild(script)
  • 版本二 (效率更高)

var wb_url = "https://www.weibo.com/";
// 这个本人做了处理 我只做有筛选条件的 才会调用删除方法 如果不需要删除搜索结果的微博把下面这行改成即可(只要复制 /**  **/ 中间的代码就可以 )
/**
if(window.location.host == "weibo.com" ){
    wb_url = "https://weibo.com/";
}else{
  wb_url = "";
}
**/
if(window.location.host == "weibo.com" && window.location.search.indexOf('key_word')  != -1){
    wb_url = "https://weibo.com/";
}else{
  wb_url = "";
}

//删除本条微博
function del_weibo(id){
    console.log(id);
    var postdata = "mid="+id;
    delwb_url = wb_url  + "aj/mblog/del?ajwvr=6";
    fetch(delwb_url, 
    {
        "credentials":"include",
        "headers":{
                "content-type":"application/x-www-form-urlencoded",
        },
        "body":postdata,
        "method":"POST","mode":"cors"
    }).then(response => console.log(response) )
    .then(data => console.log(data))
    .catch(error => console.log(error));
}

//删除本页全部微博
function del_page(){
    var wb_list = document.querySelectorAll(".S_txt2");
    if(wb_list.length == 0){
        console.log("暂无可删除微博");
    }
    var i = 1;
    for(var t of wb_list){
        if(t.name){
            //限制请求速度
            setTimeout(function(t) {
                del_weibo(t.name);
                var pppp_node = t.parentNode.parentNode.parentNode.parentNode;
                pppp_node.parentNode.removeChild(pppp_node);
            }, 200*i,t);
            i++;
        }
    }
    if(i == 1){
        console.log("暂无可删除微博:");
        // 正在加载中,请稍候...(滚动鼠标) #
        // 第几页,下一页(点击翻页) # 
        //查看更早微博 #
    }
}


// 刷新微博页面
function auto_update_page(){
    var pages = document.querySelectorAll(".W_pages > a");
    if(pages.length > 0){
        var next_page = pages[pages.length-1];
        console.log("下一页");//or上一页...
        next_page.click();
    }else{
        //
        var more_arr = document.getElementsByClassName("WB_cardmore");
        if((more_arr.length != 0) && more_arr[more_arr.length-1].innerText.trim().startsWith("查看更早微博")){
            more_arr[more_arr.length-1].click();
        }
        var wait_load = document.getElementsByClassName("W_loading");
        if(wait_load.length != 0){
            console.log(new Date().toLocaleTimeString() + ":" + wait_load[0].parentNode.innerText.trim());
            window.scrollTo(0, 100000);//滚动到最低部(触发自动加载微博)
            setTimeout(function(){
                window.scrollTo(0, 100);
            },800);
        }
    }
}


function del_all_weibo(){
    if(window.del === false){
        return;
    }
    del_page();
    auto_update_page();//尝试自动刷新
}

 // 开始运行程序
if(document.URL.startsWith(wb_url)){
    var may_url = wb_url + $CONFIG.uid + "?is_all=1";
    console.log("如果微博未被删除,请点击下面链接重试:");
    console.log(may_url)
    // 定时执行删除
    window.setInterval(del_all_weibo,4000);
}else{
    alert("请在 " + wb_url +  " 站点下的微博列表中重新执行删除脚本。");
    if(navigator.userAgent.includes("Mobile")){
        alert("Chrome 用户请回到控制台,按下 Ctrl+Shift+M 切换回电脑版完整视图");
    }
    window.location.replace(wb_url);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容