批量删除新浪微博及自动发布微博
批量删除新浪微博及自动发布微博
文章目录
- 批量删除新浪微博及自动发布微博
- 前言
- 一、微博批量删除
- 二、微博自动发布
- 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种:
- application/x-www-form-urlencoded。提交的数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码。是浏览器的原生 form 表单默认参数。
- application/json。 参数以JSON序列化字符串表示,支持比键值对复杂得多的结构化数据,并且参数结构清晰,易读性更高。
- multipart/form-data。使用表单上传文件时,必须让 form 的 enctyped 等于这个值。
- text/xml。类型为文本,格式为xml。
过程中尝试使用JSON.stringify(params) + application/json的组合方式,依然无效,应该是服务端只接受第一种格式的。
参考文章
https://blog.csdn.net/qq_37537375/article/details/104242890
https://segmentfault.com/a/1190000013056786
批量删除新浪微博及自动发布微博相关推荐
- 5 批量更新多条记录_如何使用 F12 开发者工具自动批量删除新浪微博
如何批量删除新浪微博内容?从 2015 年开始注册新浪微博,到现在 2019 年,算起来也好多年了,期间大约发布了 1000条微博,但大多数都是签到(新浪微盘)以及转载分享,其实自己并没有发多少条生活 ...
- js小技能:批量删除新浪微博 1、利用Chrome的console删除所有微博(支持自动加载更多,支持删除快转)2、原理:setInterval() :周期调用执行函数/表达式
文章目录 前言 I.批量删除微博的方案 1.1 步骤 1.2 方案一:发起http请求,删除全部微博: 1.3 方案2: 利用action-type按钮事件删除微博 II.移除粉丝/关注的人 2.1 ...
- pythonurllib新浪微博_Python代码登录新浪微博并自动发微博
前言 对于很少玩微博@張行之_的我来说,微博内容少的可怜.所以本人就想:能不能写个成功程序来帮我发微博.这个程序要满足以下要求: 自动化,自动登录微博,自动发微博. 微博内容要有意义,不能是随机生成的 ...
- Python代码登录新浪微博并自动发微博
前言 对于很少玩微博@張行之_的我来说,微博内容少的可怜.所以本人就想:能不能写个成功程序来帮我发微博.这个程序要满足以下要求: 自动化,自动登录微博,自动发微博. 微博内容要有意义,不能是随机生成的 ...
- python怎么登录微博并发微博_Python代码登录新浪微博并自动发微博
前言 对于很少玩微博@張行之_的我来说,微博内容少的可怜.所以本人就想:能不能写个成功程序来帮我发微博.这个程序要满足以下要求: 自动化,自动登录微博,自动发微博. 微博内容要有意义,不能是随机生成的 ...
- 狗屁文章生成器-批量生成原创文章自动发布网站-免费下载
狗屁文章生成器,什么是狗屁文章生成器,狗屁文章生成器从字面意思都能理解出来,就是生成的文章毫无逻辑感,胡乱生成,毫无可读性.只需要输入关键词就能实现狗屁文章生成.狗屁文章生成器.火于2020年某老板喊 ...
- Python 教你自动发微博,每日一句英语
作者:周萝卜 最近在研究用 Python 来制作各个类别的机器人,今天先来分享一个自动发布新浪微博的机器人. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知 ...
- element table批量删除_element ui 批量删除
//这里做一个事件 checkbox发生改变时触发 修改 删除 data{ return { multipleSelection: [] //返回的是选中的列的数组集合 这里接收用户选中的id 默认放 ...
- Python 教你自动发微博,每日实现一句心灵鸡汤
作者 | 周萝卜 出品 | 萝卜大杂烩 最近在研究用 Python 来制作各个类别的机器人,今天先来分享一个自动发布新浪微博的机器人. 基本思路 其实要实现一个简单的自动发布微博机器人还是不难的,只需 ...
- python 自动发微博_Python 教你自动发微博,每日一句英语
作者:周萝卜 最近在研究用 Python 来制作各个类别的机器人,今天先来分享一个自动发布新浪微博的机器人. 基本思路 其实要实现一个简单的自动发布微博机器人还是不难的,只需要每天按时找好要发布的素材 ...
最新文章
- 计算机网络技术 选修 沪科版教案,沪科版《信息技术基础》必修 全册教案.doc...
- ML基石_1_LearningProblem
- 左右上下都能滚动的效果
- ubuntu较快台湾源
- UA MATH567 高维统计专题1 稀疏信号及其恢复6 随机设计矩阵下LASSO的估计误差
- 获取不到html页面上的元素,Vue v-for渲染页面,获取不到DOM元素解析
- jquery 判断元素可见性
- java之struts2的执行流程讲解(1)
- 运维工程师姓什么很重要!请别叫我“X工”
- java从入门到入土_java从入门到入土---基础篇04---IO
- python格式化JSON结果打印
- 南京邮电大学java第三次实验报告
- 如何实现android设备进入recovery界面后自动重启
- druid监控页面SQL不显示问题
- imputation文献-A systematic evaluation of single-cell RNA-sequencing imputation methods
- 经典ps教程600例 打造ps高手
- 在线工具:将图片透明化
- android pie_Android Pie中的新安全功能,以及为什么对它们感到兴奋
- poi替换word内容
- 贴片电阻具有哪些特性?