批量删除新浪博客里面自己发布的文章

发布于 2019-12-17 20:57:29 字数 2049 浏览 1749 评论 0

新浪博客里面又很多之前网站发布的文章,现在网站都打不开了,留着也没有什么用了,想着就把这些文章都删除了,但是找了半天却没有批量删除的功能,无奈一篇篇的删除太耗费时间了,在网上搜搜居然有通过控制台删除的 JS 代码,试了下完全可行,虽然只能删除当前分页的所有文章,但是比起自己一篇篇的删除效率要高很多了。

删除到回收站

//取得全部的列表
var as = document.getElementsByClassName('atc_more');
var html='';
for(var i = 0;i < as.length;i++){
  if (as[i].id.indexOf('a_more_') < 0) continue;
  //如果得到列表不是想要的按钮跳过
  html += '<input type="hidden" name="blog_id[]" value="'+as[i].id.replace('a_more_', '')+'" />';
  //得到文章id,拼接出post时的input
};
 
//生成一个form
document.body.innerHTML = '<form action="http://control.blog.sina.com.cn/admin/article/article_del_recycle.php?domain=1" id="deleteAllPost" target="deleteAllPost" method="POST" > <input name="uid" value="2118937395" />'+html+'</form>';

//新窗口提交form
document.getElementById('deleteAllPost').submit();
//刷新当前页面,可能删除提交慢话,当前刷新列表就还会出现已经请求删除过的
location.reload();

上面的代码只能删除到回收站,文章并没有真正的删除掉,还有新浪博客是做了缓存的,左侧的分类统计是有问题的,实际上文章已经被删除了。

操作成功的话会返回一个 JSON 格式的字符串

{"code":"A00006","data":""}

从回收站删除

可惜回收站也没有清空的功能,无奈只有按照上面的方法在写一段 JS 代码删除:

var as = document.getElementsByClassName('CP_a_fuc');//得到全部的列表
var s='';
for(var i = 0;i < as.length;i++){
  if (as[i].href.indexOf('#') < 0) continue;//里面好像有一个javascript什么的,会导致请求出错,所以过街过滤
  s += '&blog_id[]='+as[i].href.replace(/^.+#/g, '');//querystring上拼接要删除的id
}
;window.open('http://control.blog.sina.com.cn/admin/article/article_recycle_del.php?uid=2118937395&varname=requestId_48399008&'+s);
//新窗口打开删除请求

location.reload();//当前页面刷新

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

已经忘了多久

文章 0 评论 0

15867725375

文章 0 评论 0

LonelySnow

文章 0 评论 0

走过海棠暮

文章 0 评论 0

轻许诺言

文章 0 评论 0

信馬由缰

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文