今天想再次删除新浪博客中的文章,同时包括垃圾箱中的.

操作了几个觉得太郁闷了,只能一条一条的删除,有1k左右条呢,

得操作多久?

看了一下,需要保留的只是几条;

于是查看了下html代码,找到规则,写了节js代码来自动操作

,然后再从垃圾箱中还原那几个文章,其余的全部清理掉:


博文列表页删除代码

打开首页,会看到列表后面有一个更多剪头,点击时,会弹出下拉菜单,里面有一个删除按钮:


操作步骤:

打开sina blog首页:

在浏览器中按f12打开html调试面板;

在console面板中输入以下代码:

//取得全部的列表
var as = document.getElementsByClassName('atc_more');


var html='';
for(var i = 0;i < as.length;i++){
<span style="white-space:pre">	</span>if (as[i].id.indexOf('a_more_') < 0) continue;//如果得到列表不是想要的按钮跳过
<span style="white-space:pre">	</span>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="qidizi" target="qidizi" method="POST" > <input name="uid" value="2118937395" />'+html+'</form>';
//新窗口提交form
document.getElementById('qidizi').submit();
//刷新当前页面,可能删除提交慢话,当前刷新列表就还会出现已经请求删除过的,没事,就多按几次键吧,反正很快
location.reload();




运行

会弹出一个新页面,这个页面是请求删除当前页全部文章的;

首页会自动刷新,

再次运行上页的代码,这样,就能把全部blog删除了;




------删除回收箱中的


打开回收箱url

按f12打开调试面板;

在console中输入以下代码:

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();//当前页面刷新


运行,

刷新后,再次运行上面代码.

ok.

所有的文章都清理掉了;


注意,上面写得比较随意.

请把id号换成自己的.

请求删除页面json中返回B数字值就是表示请求失败;

A6什么的就表示成功;


----------------不理理的内容-----------补充最新的移回回收站代码--------------


// 以下代码只是把正常显示的blog移回回收站,如果需要回收站删除,请根据代码自己修改,回收站删除没有跨域问题,容易解决;
// 以下代码是很随意的代码,最好有js基础,能自己调整,不保证每个人都可以使用;
// 使用方法:打开个人blog首页,把下面的所有代码在chrome的console中粘贴回车执行;出错时,刷新重新运行基本上可以解决;目前只测试开始,没有测试删除完成的逻辑;
+function() {
    function log() {
        console.log.apply(console.log, arguments);
    }

    try {
        // 这里不考虑浏览器的兼容性,最好使用chrome最新版本来操作
        // 通过blog首页url获得uid,如果格式变化,请自行调整
        var uid = location.href
                .match(/^https?\:\/\/blog\.sina\.com\.cn\/u\/(\d+)$/);

        if (!uid) {
            return alert('获取uid失败,请登录新浪blog,并打开blog的个人首页再操作;如打开:http://blog.sina.com.cn/u/2500204025');
        }

        uid = uid[1];
        var form, blogIdInput, titleInput, submitInput, prevId;
        var jq = document.createElement('script');
        jq.onload = function() {
            clearTimeout(jser);
            log('注入jquery成功');
            var iframe = document.createElement('div');
            form = $('<form style="background-color:red;z-index:99999999;position:fixed;top:0;left:0;" class="jsQidiziForm" target="_qidizi" action="http://control.blog.sina.com.cn/admin/article/article_del_recycle.php?domain=1" method="POST">'
                    + '标题<input name="title" class="title" type="button" value="" /><br>'
                    + 'uid:<input name="uid" value="'
                    + uid
                    + '" /><br>'
                    + 'blogId:<input name="blog_id[]" class="blog_id" value="" /><br>'
                    + '<input type="submit" class="submit" /><br>'
                    + '<iframe name="_qidizi" width="1000" class="qidiziIframe" height="100"></iframe>'
                    + '</form>');
            form.appendTo('body');
            blogIdInput = form.find('.blog_id');
            titleInput = form.find('.title');
            submitInput = form.find('.submit');
            getBlogId();
        };
        jq.src = 'http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.12.4.min.js';
        document.body.appendChild(jq);
        log('尝试注入jquery.js...');

        var jser = setTimeout(function() {
            alert('加入jquery.js失败,请检查代码');
        }, 1000 * 60 * 6);

        function getBlogId() {
            log('尝试开始获取下条blog id');
            $
                    .get(
                            location.href,
                            {
                                rnd : +new Date
                            },
                            function(html) {
                                // 使用text加载更快,自己用正则解析,sina的标题html代码应该是这样的:
                                // <div id="t_10001_950615f901017pca"
                                // class="blog_title">
                                // <a
                                // href="http://blog.sina.com.cn/s/blog_950615f901017pca.html"
                                // target="_blank">新娘肌肤白皙透亮的秘诀</a>
                                // </div>
                                var title = html
                                        .match(/class\s*\s*\=\s*['"]blog_title['"][^>]*>[^<]*<a\s+[^>]+blog\.sina\.com\.cn\/s\/blog_(\w+)\.html['"][^>]+>([^<]+)/);

                                if (!title) {
                                    return alert('从blog首页的html代码中找不到要删除的blog对象了,可能已经全部删除完成了,或是sina的代码改变了,请刷新blog的个人首页查看确认');
                                }

                                log('匹配到下条blog成功...');
                                del(title[1], title[2]);
                            }, 'text');
        }
        function del(blogId, blogTitle) {
            if (prevId == blogId) {
                return alert('删除blogid是' + blogId
                        + '发生异常,上轮删除的blogid也是这个,请确认删除代码是否还有效;或是刷新重新来过');
            }

            prevId = blogId;
            blogIdInput.val(blogId);
            titleInput.val(blogTitle);
            log('开始删除提交...');
            form.get(0).submit();
            var iframe = $('.qidiziIframe').get(0);
            var count = 1;
            log('定时检查跨域删除状态...');
            var timer = setInterval(function() {

                try {
                    var iframeDocument = iframe.contentDocument
                            || iframe.contentWindow.document || 0;
                } catch (e) {
                    log('获取iframe出错,浏览器不支持,也可能加载未完成,错误如下:', e);
                }

                if ('complete' != iframeDocument.readyState) {
                    submitInput.val('等待删除页面为完成状态:' + count++ + '秒');
                    return;
                }

                clearInterval(timer);
                log('目前懒得去获取处理结果,假设删除完成了...');
                getBlogId();
            }, 1000);
        }

    } catch (e) {
        log('代码出错,请调整:', e);
    }
}();