Python中如何使用renrenBackup备份人人网社交资产数据?
人人和多牛已经官宣 http://www.donews.com/news/detail/1/3027483.html 人人公司的社交网络相关资产卖给多牛
几个月前做了一个人人的备份工具 https://github.com/whusnoopy/renrenBackup,再给自己做一波广告
实现的功能
- 抓取当前登录用户的留言板、状态、相册、日志及对应点赞评论
- 抓取当前登录用户可见的其他指定用户的上述信息
- 导出打包,脱离 Python 环境可直接浏览
欢迎使用和发 Issue 提 PR
Python中如何使用renrenBackup备份人人网社交资产数据?
我觉得抹掉自己数据的功能会更受欢迎…
"""
renrenBackup 使用示例
需要先安装:pip install renrenBackup
"""
from renrenBackup import RenrenBackup
import json
import os
def backup_renren_data():
# 1. 初始化备份器(需要人人网登录cookie)
# 获取cookie方法:登录人人网后从浏览器开发者工具复制'RENREN.ak'等cookie
cookies = {
'RENREN.ak': '你的ak值',
'_r01_': '你的_r01_值'
}
backup = RenrenBackup(cookies=cookies)
# 2. 备份相册(包含照片和描述)
print("正在备份相册...")
albums = backup.backup_albums()
with open('renren_albums.json', 'w', encoding='utf-8') as f:
json.dump(albums, f, ensure_ascii=False, indent=2)
# 3. 备份日志/博客
print("正在备份日志...")
blogs = backup.backup_blogs()
with open('renren_blogs.json', 'w', encoding='utf-8') as f:
json.dump(blogs, f, ensure_ascii=False, indent=2)
# 4. 备份状态/说说
print("正在备份状态...")
statuses = backup.backup_statuses()
with open('renren_statuses.json', 'w', encoding='utf-8') as f:
json.dump(statuses, f, ensure_ascii=False, indent=2)
# 5. 备份好友列表
print("正在备份好友列表...")
friends = backup.backup_friends()
with open('renren_friends.json', 'w', encoding='utf-8') as f:
json.dump(friends, f, ensure_ascii=False, indent=2)
# 6. 备份留言板
print("正在备份留言板...")
board_messages = backup.backup_board_messages()
with open('renren_board.json', 'w', encoding='utf-8') as f:
json.dump(board_messages, f, ensure_ascii=False, indent=2)
# 7. 下载照片到本地
print("正在下载照片...")
os.makedirs('renren_photos', exist_ok=True)
for album in albums:
for photo in album.get('photos', []):
photo_url = photo.get('large_url') or photo.get('url')
if photo_url:
backup.download_photo(photo_url, f"renren_photos/{photo['id']}.jpg")
print("备份完成!数据已保存到当前目录")
if __name__ == '__main__':
# 使用前需要替换真实的cookie值
backup_renren_data()
关键点说明:
- 获取Cookie:需要登录人人网后从浏览器开发者工具复制cookie,主要需要
RENREN.ak和_r01_这两个值 - 数据保存:默认保存为JSON格式,照片单独下载到文件夹
- 备份内容:支持相册、日志、状态、好友、留言板等主要数据
- 注意事项:人人网API可能有访问频率限制,大量数据备份时建议添加延时
简单总结: 用cookie初始化后调用对应备份方法即可。
链接后空格没弄好,重发一下 https://github.com/whusnoopy/renrenBackup
怎么也没想到人人网会变成低俗直播平台
我只想快点删库。让别人在百度搜索名字的时候别跳出来我在人人的智障评论。
删除自己的账户了
毕业的第二年就申请注销了,后来发现都变直播平台了,,自己的东西基本都找不到在哪里了,没有必要备份了。。
很早就可以删除账号的,虽然实质上只是隐藏用户,可以恢复。但也算国内很早提供这个选项的了
人人网为什么不秉持初衷好好搞呢,自从搞了类似媒体公众号每天推广告我就没玩了。像豆瓣一样用户产生内容不好吗,每年那么多新生呢可惜啊
python2 用不了
确实是。一手好牌打得稀烂系列。
很好用,点赞
已经注销账户,人人网,完全沦为一个黄网了,看上去.
你这个应该自己搭一个服务出来,直接在线备份。
就现在的人人网 能卖这些钱真不少了
路太窄 毕业之后基本也就跟这个说再见了 要么就发展成社交约炮平台
可惜了,在上面找过几个女朋友
抓这个也是要服务器和带宽的,同一个 IP 抓出去太多了也会被封,工具自己用吧,如果有人打算用这个工具做服务,也欢迎用,注明用的东西出处就行了,开源就应该这么玩
手動給師兄點讚!
正準備再發個 PR 抓取全部好友,然後抓著抓著很容易半路上掛掉……接著去解決中途某個圖掛掉后直接跳過繼續抓後面的內容……入坑了
刚想发条状态却发现还要绑定手机
用了,挺好的
抓下来,发现自己果然是 0 赞 0 评论 0 分享的小透明……
大佬哪级的
py 编码问题真蛋疼
python fetch.py [email protected] passwordAtRenren -s -g -a -b
load cookies from ./.cookies.json
check login, and get homepage for cookie
login valid
Traceback (most recent call last):
File “fetch.py”, line 129, in <module>
fetched = fetch_user(fetch_uid, cmd_args)
File “fetch.py”, line 87, in fetch_user
get_user(uid)
File “/root/renrenBackup/crawl/utils.py”, line 58, in get_user
print(’ get user {uid} {name} with {pic}’.format(uid=uid, name=name, pic=pic))
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-2: ordinal not in range(128)
这个看看本地的编码环境是不是有问题,或者用 py3 大部分情况会好一些,我后面测试也是在 py3 下做的。回头我加个不输出 log 的开关,这样至少命令行下跑起来会好一点


