批量删除新浪微博及自动发布微博

文章目录

    • 批量删除新浪微博及自动发布微博
  • 前言
  • 一、微博批量删除
  • 二、微博自动发布
    • 1 代码
    • 2.踩坑总结
  • 参考文章

前言

最新有批量删除新浪微博的需求,于是在网上查相关代码并动手试了一下。除了实现批量删除微博功能之外,还尝试了自动发布微博,整个过程很有趣,学到了很多东西,于是记录下来。


一、微博批量删除

删除部分代码参考了这篇文章:[详见](https://blog.csdn.net/qq_37537375/article/details/104242890) 通过在控制栏在控制栏输入代码,向指定接口发起请求,实现删除功能。下面是我对源代码加了自己的理解。

//向删除接口发起请求,删除对应节点
function del_weibo(id){console.log(id);var postdata = "mid="+id;fetch("https://www.weibo.com/aj/mblog/del?ajwvr=6", {"credentials":"include","headers":{"content-type":"application/x-www-form-urlencoded",},"referrer":"https://www.weibo.com","body":postdata,"method":"POST","mode":"cors"}).then(response => console.log(response) ).then(data => console.log(data)).catch(error => console.log(error));
}// 查找到所有微博节点并根据其name属性删除(name为唯一标识)
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){// 每条微博都有一个<a>标签,其name属性为唯一标识,删除需要用到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++;}}
}//尝试自动刷新
function auto_update_page(){// 到达页面的底部时,会出现class=".W_pages"的下一页按钮,点击加载下一页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{//若当前也还没加载完,则跳转到底部触发加载console.log(new Date().toLocaleTimeString() + ":加载中,请稍等");window.scrollTo(0, 100000);}
}// 主函数
function del_all_weibo(){del_page();auto_update_page();
}window.setInterval(del_all_weibo,4000);

二、微博自动发布

使用上面代码删除全部微博后,想看懂上面的代码,却没微博可删了。于是想着既然能代码删除,那是不是也可以代码发布了。于是通过在控制栏查看发布微博的请求,成功实现!

1 代码

function publish(num){num++;// 请求需加上时间戳var timevalue = new Date().getTime();var url = "https://weibo.com/p/aj/v6/mblog/add?ajwvr=6&domain=100505&__rnd="+ timevalue;var params =  {title: '有什么新鲜事想告诉大家? ',location: 'page_100505_home',text: '发布时间:'+ new Date(parseInt(timevalue)).toLocaleString(),style_type: "1",appkey : "",pdetail: "yourID", //这里换成自己主页上16位的值 https://weibo.com/p/**yourID**/homeisReEdit: false,rank: "1", // 1为仅自己可见,0为公开pub_source: "page_2",topic_id: "1022:",pub_type: "dialog",_t: "0"};var format_params = "";for (var i in params) {format_params = format_params + i + '=' + params[i] + '&';}format_params = format_params.slice(0, -1);fetch(url,{"credentials":"include","headers":{"content-type":"application/x-www-form-urlencoded",},"body": format_params,"method":"POST","mode":"cors"}).then(response => console.log('1', response) ).then(data => console.log('2', data)).catch(error => console.log(error));// 15 为想要发布的微博条数if(num < 15) {console.log(num)setTimeout(publish, 10000, num);}
}
publish(0)

2.踩坑总结

 在使用fetch发起POST请求时,请求体携带在'body'参数中,一开始使用JSON.stringify(params)转化参数,一直显示 302。后来才发现是content-type不同导致的。  Content-Type是Http报头中实体头的一个字段,代表发送端(客户端|服务器)发送的实体数据的数据类型/格式。常见的有以下4种:

  1. application/x-www-form-urlencoded。提交的数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码。是浏览器的原生 form 表单默认参数。
  2. application/json。 参数以JSON序列化字符串表示,支持比键值对复杂得多的结构化数据,并且参数结构清晰,易读性更高。
  3. multipart/form-data。使用表单上传文件时,必须让 form 的 enctyped 等于这个值。
  4. text/xml。类型为文本,格式为xml。

 过程中尝试使用JSON.stringify(params) + application/json的组合方式,依然无效,应该是服务端只接受第一种格式的。

参考文章

https://blog.csdn.net/qq_37537375/article/details/104242890
https://segmentfault.com/a/1190000013056786

批量删除新浪微博及自动发布微博相关推荐

  1. 5 批量更新多条记录_如何使用 F12 开发者工具自动批量删除新浪微博

    如何批量删除新浪微博内容?从 2015 年开始注册新浪微博,到现在 2019 年,算起来也好多年了,期间大约发布了 1000条微博,但大多数都是签到(新浪微盘)以及转载分享,其实自己并没有发多少条生活 ...

  2. js小技能:批量删除新浪微博 1、利用Chrome的console删除所有微博(支持自动加载更多,支持删除快转)2、原理:setInterval() :周期调用执行函数/表达式

    文章目录 前言 I.批量删除微博的方案 1.1 步骤 1.2 方案一:发起http请求,删除全部微博: 1.3 方案2: 利用action-type按钮事件删除微博 II.移除粉丝/关注的人 2.1 ...

  3. pythonurllib新浪微博_Python代码登录新浪微博并自动发微博

    前言 对于很少玩微博@張行之_的我来说,微博内容少的可怜.所以本人就想:能不能写个成功程序来帮我发微博.这个程序要满足以下要求: 自动化,自动登录微博,自动发微博. 微博内容要有意义,不能是随机生成的 ...

  4. Python代码登录新浪微博并自动发微博

    前言 对于很少玩微博@張行之_的我来说,微博内容少的可怜.所以本人就想:能不能写个成功程序来帮我发微博.这个程序要满足以下要求: 自动化,自动登录微博,自动发微博. 微博内容要有意义,不能是随机生成的 ...

  5. python怎么登录微博并发微博_Python代码登录新浪微博并自动发微博

    前言 对于很少玩微博@張行之_的我来说,微博内容少的可怜.所以本人就想:能不能写个成功程序来帮我发微博.这个程序要满足以下要求: 自动化,自动登录微博,自动发微博. 微博内容要有意义,不能是随机生成的 ...

  6. 狗屁文章生成器-批量生成原创文章自动发布网站-免费下载

    狗屁文章生成器,什么是狗屁文章生成器,狗屁文章生成器从字面意思都能理解出来,就是生成的文章毫无逻辑感,胡乱生成,毫无可读性.只需要输入关键词就能实现狗屁文章生成.狗屁文章生成器.火于2020年某老板喊 ...

  7. Python 教你自动发微博,每日一句英语

    作者:周萝卜 最近在研究用 Python 来制作各个类别的机器人,今天先来分享一个自动发布新浪微博的机器人. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知 ...

  8. element table批量删除_element ui 批量删除

    //这里做一个事件 checkbox发生改变时触发 修改 删除 data{ return { multipleSelection: [] //返回的是选中的列的数组集合 这里接收用户选中的id 默认放 ...

  9. Python 教你自动发微博,每日实现一句心灵鸡汤

    作者 | 周萝卜 出品 | 萝卜大杂烩 最近在研究用 Python 来制作各个类别的机器人,今天先来分享一个自动发布新浪微博的机器人. 基本思路 其实要实现一个简单的自动发布微博机器人还是不难的,只需 ...

  10. python 自动发微博_Python 教你自动发微博,每日一句英语

    作者:周萝卜 最近在研究用 Python 来制作各个类别的机器人,今天先来分享一个自动发布新浪微博的机器人. 基本思路 其实要实现一个简单的自动发布微博机器人还是不难的,只需要每天按时找好要发布的素材 ...

最新文章

  1. 计算机网络技术 选修 沪科版教案,沪科版《信息技术基础》必修 全册教案.doc...
  2. ML基石_1_LearningProblem
  3. 左右上下都能滚动的效果
  4. ubuntu较快台湾源
  5. UA MATH567 高维统计专题1 稀疏信号及其恢复6 随机设计矩阵下LASSO的估计误差
  6. 获取不到html页面上的元素,Vue v-for渲染页面,获取不到DOM元素解析
  7. jquery 判断元素可见性
  8. java之struts2的执行流程讲解(1)
  9. 运维工程师姓什么很重要!请别叫我“X工”
  10. java从入门到入土_java从入门到入土---基础篇04---IO
  11. python格式化JSON结果打印
  12. 南京邮电大学java第三次实验报告
  13. 如何实现android设备进入recovery界面后自动重启
  14. druid监控页面SQL不显示问题
  15. imputation文献-A systematic evaluation of single-cell RNA-sequencing imputation methods
  16. 经典ps教程600例 打造ps高手
  17. 在线工具:将图片透明化
  18. android pie_Android Pie中的新安全功能,以及为什么对它们感到兴奋
  19. poi替换word内容
  20. 贴片电阻具有哪些特性?

热门文章

  1. 机器狗病毒(又称下载者木马病毒)的手工毒杀
  2. His系统数据库服务器关系,his系统数据库服务器
  3. 如何把播放器转换成HTML5,Chrome把普通flash播放器转变成HTML5播放器插件:HTML5ify...
  4. windows系统不安装软件查看cpu温度
  5. webService简单概念
  6. openwrt开发--驱动程序IPK包开发(GPIO控制)
  7. 狸窝全能视频转换器功能介绍
  8. MSM8926处理器
  9. HttpClient4 基本操作
  10. python毕业论文答辩ppt_如何制作优秀的毕业论文答辩 PPT?