昨天推荐了备份微博账号的工具 稳部落 后,有同学提问:有没有可以将微博数据迁移至另外一个微博号的软件?

如何克隆微博,将微博内容迁移/克隆至另外一个微博号? 1

其实在稳部落的评论里,@Cat 同学很快给出了答案:“想起来自己曾经写脚本把炸号的9000条微博在新号重新发了一遍……”

于是青小蛙让他赶紧交出来,就交了出来…

项目叫 respawnWeibo,托管在 GitHub,基于 Python,所以需要你的电脑有安装 Python,食用方法如下:

使用方法

respawnWeibo 的使用流程是这样的:先登录微博,再备份旧微博账号,最后克隆微博到新账号。

首先或克隆项目代码

git clone https://github.com/catbaron0/respawnWeibo.git

登陆微博

  1. 先在config.py中设置用户名和密码USERNAME="example@example.com" PASSWD="password"
  2. 执行python3 user_info.py 脚本会生成sender.sess,并会输出containerID 和 uid
python3 user_info.py

备份微博

执行python3 cache.py -cid containerID 之后微博会被下载到 cached 路径下,每一页(10条微博)缓存为一个 json 文件。

python3 cache.py -cid containerID

克隆微博

  1. config.py 中的用户名和密码更新为目标账号
  2. 执行 python3 user_info.py
  3. 执行 python3 respawn.py -f cached/8.txt -u uid -c 9 就会自动将缓存到 8.txt 中的微博发布到 config.py 中设置的微博账号中。
python3 user_info.py
python3 respawn.py -f cached/8.txt -u uid -c 9

对于转发的微博,会优先转发原微博;如果转发失败,则会尝试按照原创微博 的方式将原微博内容一起发布。

respawn.py 的参数说明如下:

  • -f JSON_FILE, 缓存的 json 文件.
  • -s SESSION_FILE, 指定 session 文件可避免反复登陆
  • -u UID, 用户 ID,可通过 user_info.py 查看
  • -c CONTINUE 从文件中的某一条微博开始发布。
  • -ft, 强制用原创微博的方式克隆转发微博。

说明

  1. cache.py 代码修改自 https://github.com/yekingyan/Weibo/blob/master/Weibo.py
  2. weibo/ 的代码修改自 https://github.com/chaolongzhang/sinaWeibo
  3. 由于微博对发布频率的限制,目前设置为约30s发送一条
  4. 本项目不稳定

之后

@Cat 同学还提到,嗯……当时临时写的脏脚本,用起来挺麻烦的,而且因为微博对账号发微博的频率有限制,我发了一个多月才发完(然后半年之后又炸了

祝同学们的微博永远不炸号。