JS脚本删除豆瓣广播
很久以前为了清理自己SPAM在微博的东西,找过批量删除微博的脚本。现在也想顺手清理一下豆瓣的,不过没找到比较好用的。
不过完全不会WEB开发,也只能自己拼凑一下。
直接上代码吧
代码
豆瓣有保护机制的,如果在短时间内疯狂发送请求,会在一定时间内被BAN IP(亲身经历)。
所以我们可以试着用随机等待的方式来避免这个问题。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
function sleepWait(waitMsec) { var startMsec = new Date(); while (new Date() - startMsec < waitMsec); }
function execTest() { for (let step = 0; step < 10; step++) { location.reload(); var waitDuration = (Math.floor(Math.random() * 10) + 1) * 10000; console.log('test log, next exec in' + waitDuration + 'ms'); sleepWait(waitDuration); } }
|
删除的代码是我白嫖来的,在 我的广播 的页面里执行这个函数大概可以删除当前页面中的所有广播。
不过转发好像不一定能删除,之后还得找别的方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
function execDelTest() { var a = function(c) { $.post_withck("/j/status/delete", { sid: c }) };
var b = function(c) { $.post_withck("/j/status/unreshare", { sid: c }) };
$("a[data-reshare-id]").each(function() { b($(this).attr("data-reshare-id")); $(this).hide() });
$("div[data-sid]").each(function() { a($(this).attr("data-sid")); $(this).hide() }) };
|
完整代码如下,不过真的怕被BAN IP 可以把随机等待的时间设定得长一些
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
function sleepWait(waitMsec) { var startMsec = new Date(); while (new Date() - startMsec < waitMsec); }
function execDelTest() { var a = function(c) { $.post_withck("/j/status/delete", { sid: c }) };
var b = function(c) { $.post_withck("/j/status/unreshare", { sid: c }) };
$("a[data-reshare-id]").each(function() { b($(this).attr("data-reshare-id")); $(this).hide() });
$("div[data-sid]").each(function() { a($(this).attr("data-sid")); $(this).hide() }) };
function execDelLoop() { for (let step = 0; step < 10; step++) { location.reload(); var waitDuration = (Math.floor(Math.random() * 10) + 1) * 10000; sleepWait(waitDuration); } }
execDelLoop();
|
代码
感觉web这边可以做蛮多方便日常生活用的脚本,改天真的要开始学一学才行。