热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何用代码删除微博

本文主要介绍关于新浪微博,微信开放平台的知识点,对【2022年最新微博批量删除代码_自动化删除新浪微博代码】和【如何用代码删除微博】有兴趣的朋友可以看下由【星爷万岁呀】投稿的技术文章,希望该技术和经验

本文主要介绍关于新浪微博,微信开放平台的知识点,对【2022年最新微博批量删除代码_自动化删除新浪微博代码】和【如何用代码删除微博】有兴趣的朋友可以看下由【星爷万岁呀】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的微博相关技术问题。

如何用代码删除微博

2022年最新三种微博批量删除代码_批量删除微博、整理微博实用技巧

本教程为:一键批量删除新浪微博以前发过的微博(作者:当时我就没憋住)

新浪微博本身不提供批量删除微博的方法,而有些时候,我们需要删除自己微博上所有带图片的内容,比如最近富二代王思聪就清空了自己的微博。

下面就是一个批量删除微博的方法,包括带图片微博的方法。

先使用谷歌浏览器访问自己的微博首页,在自己微博里,使用搜索功能过滤出指定日期所有带图片的微博,不过滤的话将删除所有微博。

第一个,代码删除法

不要慌,别看到代码就怂,很简单的,三步就能搞定,且往下看!

1. 进入自己的微博主页(网页端)

接着,按F12,调出后台工具,点击console,将以下代码复制进去,直接回车即可。

如果遇到提示错误可以不用管,还是会在删除。

老版本

 新版本改良

因为一些黑历史而带来了烦恼,年轻的时候不懂事,以为留下的足迹是好的,如今去看却满目苍夷,鄙夷那时幼稚的自己。好不容易通过邮箱找回了密码,但是发现自己竟然几年之间发了 4000 多条微博。总不可能一条一条删吧,网上搜了一下,发现了一个自动删除的脚本。但是这个脚本在删除时,会将当前页全部删除,这回导致微博自动刷新页面,脚本也就不能继续执行了。于是做了改进,得到如下代码:

const sleep = (time) => new Promise(resolve => setTimeout(resolve, time))
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 

使用方法:

将上方红色字修改为你想要停止的日前,如果要删除全部微博,删除上面灰色部分进入个人中心页面 https://weibo.com/{weiboid}/profile通过下拉,拉到最底部,出现导航,选择页面,跳转到最后一页打开开发者工具执行上面的代码。

这段代码的逻辑是,通过模拟滚动下拉和鼠标点击事件,逐条删除微博(删除太快会出现 416 报错,应该是微博后台的一个防 DDos 策略)。但是删除完一页之后,我们不能按照正常的逻辑,删除下一页,因为如果我们这个时候点击下一页,那么就会实际进入下下一页,而不是下一页,中间有一页会被漏掉。了解接口设计的同学应该很清楚,翻页的时候,当前页是按 limit 的规则输出的,所以在对待这个场景时,我选择通过模拟点击“上一页”的办法来解决。这也是为什么要求你在运行这段脚本的时候跳转到最后一页才开始执行。面对前文提到的,会自动刷新的问题,解决办法是,在留下最后一条的时候,不删,而是直接点击“上一页”,这样,页面不会自动刷新,而会把上一页的内容加载进来。但是留下的这条怎么办?自己发一个 ajax 请求去删除即可。

吐槽一下,写多了 ES6+ 的语法,再写 function 声明代码感觉不适应。

互联网的一个特点是开放,但是,比较恐怖的一点时,我们没有一个“删除键”。我们个人的信息,一旦上网,就永远留在了网络空间,无论你想不想。这有的时候是好事,可以起到备份作用,但有的时候是坏事。我想,如果我以后做一款应用,一定要提供“备份”“一键全删”的功能。

PS:一旦你按下回车键,删除就会马上开始,所以要慎重!(世上没有后悔药)

a. 不能删除指定微博,但可以删除当前页面的微博

b. 一次只能删除一页的微博,大概40条

c. 如果出现错误,或者系统繁忙,就把代码在[console ]目录复制一遍

d. 如果你后悔了,想停止删除,就按F5刷新,但删掉的微博是不能还原的哦

第二个,插件删除法

这个插件就超级全能了,一般人我不告诉他。

1. 批量删除指定微博,按时间,关键词,转发等等;如果不舍得删,还可以选择转为好友可见或者自己可见。

 

2. 批量取消赞,取消全部赞或者已删除微博的赞,可以说hin实用了 

3. 批量导出图片(我倒是希望出个批量删除图片)

 

PS:为什么我不把这个插件放在第一位呢,因为它的批量删除不太好用(一次只能删10条),而代码删除更快更高效,所以emmm

第三个,软件删除法

这软件可以筛选时间段和指定页内容。还可以控制删除条数

最酷炫的是解放双手一个按钮就搞定了

第一步。扫码登陆微博

 

然后点【登录我点我】按钮

 

第二步:打开主程序

置入微博账号信息

第三步:筛选日期 然后选择删除条数,最后点开启就可以了

以上为批量删除微博的三种方法,希望对你们有用

 

 

本文《2022年最新微博批量删除代码_自动化删除新浪微博代码》版权归星爷万岁呀所有,引用2022年最新微博批量删除代码_自动化删除新浪微博代码需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 微信小程序中实现位置获取的全面指南
    本文详细介绍了如何在微信小程序中实现地理位置的获取,包括通过微信官方API和腾讯地图API两种方式。文中不仅涵盖了必要的准备工作,如申请开发者密钥、下载并配置SDK等,还提供了处理用户授权及位置信息获取的具体代码示例。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
  • 理解文档对象模型(DOM)
    本文介绍了文档对象模型(DOM)的基本概念,包括其作为HTML文档的节点树结构,以及如何通过JavaScript操作DOM来实现网页的动态交互。 ... [详细]
  • 本文探讨了如何在Node.js环境中,通过Tor网络使用的SOCKS5代理执行HTTP请求。文中不仅提供了基础的实现方法,还介绍了几种常用的库和工具,帮助开发者解决遇到的问题。 ... [详细]
  • 12月16日JavaScript变量、函数、流程、循环等***线上九期班
    12月16日JavaScript变量、函数、流程、循环等***线上九期班 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • 鼠标悬停出现提示信息怎么做
    概述–提示:指启示,提起注意或给予提醒和解释。在excel中会经常用到给某个格子增加提醒信息,比如金额提示输入数值或最大长度值等等。设置方式也有多种,简单的,仅为单元格插入批注就可 ... [详细]
  • 云函数与数据库API实现增删查改的对比
    本文将深入探讨使用云函数和数据库API实现数据操作(增删查改)的不同方法,通过详细的代码示例帮助读者更好地理解和掌握这些技术。文章不仅提供代码实现,还解释了每种方法的特点和适用场景。 ... [详细]
  • This post discusses an issue encountered while using the @name annotation in documentation generation, specifically regarding nested class processing and unexpected output. ... [详细]
  • JavaScript中的数组是数据集合的核心结构之一,内置了多种实用的方法。掌握这些方法不仅能提高开发效率,还能显著提升代码的质量和可读性。本文将详细介绍数组的创建方式及常见操作方法。 ... [详细]
  • 本文详细解析了 offset、client 和 page 坐标系统的不同之处。offset 是相对于当前元素的边界框的距离,与滚动条无关;client 是相对于可视区域(viewport)的距离,也与滚动条无关;page 则是相对于整个文档的距离,受滚动条位置影响。 ... [详细]
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
  • 本文探讨了在多种编程语言中实现Hello World输出的方法,从经典的C语言到现代的JavaScript,每种语言都有其独特的表达方式。 ... [详细]
  • 本文探讨了在React项目中实现子组件向父组件传递数据的方法,包括通过回调函数和使用React状态管理工具。 ... [详细]
author-avatar
LMS柳树_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有