损一毫利天下
发布于
批量添加微博关注
微博账号被封一年多,近来重新启用一个账号。于是需要把之前的关注都加回来。本想直接用微博的开放平台,翻了一下,此路不通。于是网上搜批量添加微博关注的方法。
整理后如下:
- 获取需要关注的微博id , 做法是电脑上模拟手机版微博,进到关注列表,把关注的 id 逐页翻出来。
先写一个函数,提取id:
const g = res => res.data.cards[0].card_group.map(x=>x.user.id )
然后把每页响应的数据用 函数 g 提取出关注 id 的数组。
- 假设得到一个数组,赋值给
list
变量
const list = [1708942053, 1905687615, 1856404484]
- 定时发送请求,调用微博加关注的接口,最后的
1.5
表示一分半钟请求一次。时间充裕的话,建议不要调的太小,不然会出现验证码。
// 获取 cookie
function getCookie(name) {
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}
// 发送请求
rq = x => fetch('https://m.weibo.cn/api/friendships/create', {
method: 'POST',
body: 'uid=' + x + '&st=' + getCookie('XSRF-TOKEN') + '&_spr=screen%3A414x736',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
}
})
// 定时执行
let interval = null;
let i = 0;
const add = () => {
i++;
if (i > list.length) {
window.clearInterval(interval);
console.log('列表关注完成')
} else {
rq(list[i])
}
}
interval = window.setInterval(() => add(), 1.4 * 60 * 1000)
改良了网上的方法,加了自动获取 cookie,不然 cookie 每几次都会变