跳至主要內容

微博关注迁移脚本

post杂记大约 3 分钟

微博关注迁移脚本

最近我的微博账号又被封号了,这已经是我第二个微博账号被封号了。然后我又搞了一个微博账号。没办法,虽然说微博有各种各样的不是,但目前国内也确实没有一个更好的 平台来发声,尤其是当你在受到一些不公平的待遇的时候。

言归正传,在我搞到新的微博账号之后,我就需要把之前已经被封号的账号的关注者迁移到新的账号上,微博官方没有这种工具,所以我自己整了几个小脚本来帮助我做这个事情, 否则我原来的微博关注了三百多号人,如果靠自己手工来干的话,太难为人了,所以需要写脚本来完成这个事情。而微博封号之后,这个账号你还是可以登录的,还是可以看到你的关注人的,这一点还是很不错的,给我们实现这个功能提供了可能性。

下面贴一下使用脚本以及对应的使用方法。

获取原账号的关注者信息

  • 前往微博 H5 版首页 (https://m.weibo.cn)
  • 登录被微博封号的账号
  • 右键 “检查” 打开开发者工具(或者F12),复制下面的代码,粘贴到控制台,等待结果并复制:
(() => {
    let uid = config.uid, follows = []
    const pageQuery = (page = 1) => {
        let xhr = new XMLHttpRequest()
        xhr.onreadystatechange = () => {
            if(xhr.readyState == 4 && xhr.status == 200){
                let data = JSON.parse(xhr.responseText).data
                if(data.msg == '这里还没有内容') return console.log(JSON.stringify(follows))
                data.cards.forEach(card => follows.push(card.user.id))
                pageQuery(page + 1)
            }
        }
        xhr.open('GET', `/api/container/getSecond?luicode=10000011&lfid=100505${uid}&uid=${uid}&containerid=100505${uid}_-_FOLLOWERS&page=${page}`)
        xhr.send()
    }
    pageQuery()
})()

这里接口api获取的 json 格式如下

{
    card_type: 10,
    user: {
    id: 0,
    screen_name: "xxxxxxxxxx",
    profile_image_url: "https://tvax4.sinaimg.cn/crop.0.0.664.664.180/5487abcdly8g0clh7uhdkj20ig0ihjsr.jpg?KID=imgbed,tva&Expires=1571513714&ssig=xHcSHWmQ4a",
    profile_url: "https://m.weibo.cn/u/xxxxxxxxxx?uid=v&luicode=10000012&lfid=1005052118906250_-_FOLLOWERS",
    statuses_count: 7293,
    verified: true,
    verified_type: 0,
    verified_type_ext: 1,
    verified_reason: "xxxx",
    close_blue_v: false,
    description: "xxxxx",
    gender: "m",
    mbtype: 12,
    urank: 39,
    mbrank: 6,
    follow_me: false,
    following: true,
    followers_count: 1125699,
    follow_count: 489,
    cover_image_phone: "https://tva1.sinaimg.cn/crop.0.0.640.640.640/xxxxxx.jpg",
    avatar_hd: "https://wx4.sinaimg.cn/orj480/xxxxxx.jpg",
    like: false,
    like_me: false,
    desc1: null,
    desc2: null
    },
    scheme: "https://m.weibo.cn/u/1418177485?uid=1418177485&luicode=xxxxxxx",
    desc1: "xxxxxx",
    desc2: ""
}

转移关注者

  • 前往 PC 版首页 (www.weibo.com)
  • 退出被封号的账号,登录新的微博账号
  • 右键 “检查” 打开开发者工具,复制下面的代码并填入上一步得到的列表,粘贴到控制台,等待全部关注完成:
(list => {
    let index = -1, length = list.length
    const follow = uid => {
        let xhr = new XMLHttpRequest()
        xhr.onreadystatechange = () => {
            if(xhr.readyState == 4 && xhr.status == 200){
                let data = JSON.parse(xhr.responseText)
                if(data.code == 100000) {
                    console.log(`${index + 1}/${length}`, uid, data.data.fnick, '关注成功')
                }else if (data.code == 20062){
                    console.log(`${index + 1}/${length}`, uid, `${data.msg}`)
                }
                else if (data.code == 100001) {
                    console.log(`${index + 1}/${length}`, uid, `${data.msg}`)
                } else {
                    console.log(`${index + 1}/${length}`, uid, `${data.code} - ${data.msg}`)
                }
            }
        }
        xhr.open('POST', `/aj/f/followed?ajwvr=6&__rnd=${Date.now()}`)
        xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded')
        xhr.send(`uid=${uid}&objectid=&f=1&extra=&refer_sort=&refer_flag=1005050001_&location=page_100505_home&oid=${uid}&wforce=1&nogroup=false&fnick=&refer_lflag=&refer_from=profile_headerv6&_t=0`)
    }
    let scheduled = setInterval(() => {
        index += 1
        follow(list[index])
    }, 5000)
    setTimeout(() => {
        clearTimeout(scheduled)
    }, 5100 * length)
})(/*上一步的结果*/)

备注:

  • 每天一个id最多关注200人,超过会关注失败。
  • 频率不能太频繁,否则微博会返回414状态码
  • 上面的脚本是对参考资料的脚本微调之后的,优化了调度时间,以及增加了控制台输出,避免被卡主后,你还在傻傻的死等。
    • 调整了调度时间,之前的2s调度间隔容易触发微博414限流状态码。
    • 针对20062(需要验证)状态码进行处理。当出现这个状态码的时候,需要大家自己随便找一个关注者操作关注一下,然后完成微博的弹窗验证码之后,在使用脚本继续进行。
    • 增加了其他状态码的控制台提示信息
  • 失败后,多跑几次就行,反正“关注”这个操作是幂等的。

参考资料


版权申明

本站点所有内容,版权均归https://wenchao.renopen in new window所有,除非明确授权,否则禁止一切形式的转载协议

打赏

微信 支付宝

上次编辑于:
打赏
给作者赏一杯咖啡吧
您的支持将是我继续更新下去的动力
微信微信
支付宝支付宝