批量删除所有新浪博客文章 – Bulk delete all Sina blogs script

前言

早上有教会的姊妹私信我,说她在百度搜索她的电话号码时,找到我的博客(2012年有一次活动组织,我转发了)。上面有她的名字和联系方式。

新浪博客对我来说没有什么用处了,但他们又不提供批量删除方式。所以写了点脚本做这个事情。

步骤一:登录并收集所有文章 ID

使用 Chrome 浏览器,登录你的博客,并点击【管理】

右键打开目录,并点击“检查元素”,打开 Chrome 的调试工具

执行以下代码

JSON.stringify([].map.call( document.querySelectorAll('.atc_more'), function(node){return node.id.replace('a_more_', '')}))

步骤二:删除首批文章

打开另外一个页面 http://control.blog.sina.com.cn/

把刚才的结果拷贝进来,替换以下代码中的 var blogIds = []; ,并修改你的 uid。你的 uid 就是地址栏里面的那串数字。

var uid = 1200172590;
var url = 'http://control.blog.sina.com.cn/admin/article/article_del_recycle.php?domain=1';
var blogIds = [];
var deleteInverval = setInterval(() => {
   blogIds.splice(0, 5).forEach(id => deleteBlog(url, id, uid))
   if (!blogIds.length) {clearInterval(deleteInverval); console.log('DONE')}
}, 5000);


function deleteBlog(url, id, uid){


    var objToSend = new FormData();

    objToSend.append('uid', uid);
    objToSend.append('blog_id[]', id);

    var xhr = new XMLHttpRequest();
    xhr.open('POST', url);

    xhr.addEventListener('readystatechange', (e) => {console.log('Delete Blog', id);})

    xhr.send(objToSend)
}

重复步骤一、二

等出现 DONE 字样后,重复步骤一和二,直到 所有的博客 id 都没有了。

有图有真相

什么都没有了

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.