人人网式微已然是众人皆知的事情了,在2018年的11月,这一社交平台就已被北京千橡网景出售给了其他公司,最近,北京千橡网景也向工信部提出注销原本由其运营的“.ren”后缀域名,各种迹象都提示着我,曾经留下我诸多记忆的人人网,或许哪一天就真的不在了。机缘巧合,在Github偶然看到这个脚本,趁着一切还来得及,把自己在人人网的那些记录都存档到了本地,也顺便把它推荐给各位。

1.简介

项目主页:https://github.com/whusnoopy/renrenBackup
人人网信息备份工具(renrenBackup)其实就是一款Python爬虫,输入你的人人网账户密码后,就可以遍历你的人人网主页,将你的状态、留言板、相册、照片、日志都保存到本地,并且生成为静态文件,可以直接阅览。经过我的实际体验,效果很好,甚至留言板中与你交流的其他用户的头像也被一起保存了下来。
renren-1.png


2.部署使用

人人网信息备份工具的部署非常简单,作者主要提供了两种形式,一种为Windows下无Python环境的使用,一种则是有Python(Windows/Linux均可)环境下的使用。
需要注意的是,最近人人网的日志功能出现异常,抓取时会出现异常,使用时请去掉-b参数跳过日志的抓取。

Windows 系统无 Python 环境直接运行

1.在 https://github.com/whusnoopy/renrenBackup/releases/latest 发布页面下载最新的renrenBackup_x.x.zip压缩文件,解压到一个单独的目录。

2.键盘输入win+r呼出命令提示符,通过cd命令,进入解压后的目录,执行renrenBackup.exe fetch -e 你的登录邮箱 -p 你的密码 -s -g -a -b来抓取用户信息(详细参数可见下方 Python 环境运行方式)。

3.抓取后,在命令提示符下执行renrenBackup.exe runserver后,可以在浏览器里打开localhost:5000来查看抓取后的展示。

4.抓取后,在命令提示符下执行renrenBackup.exe export -f backup.tar,可以生成backup.tar这个打包文件,解压后无需任何环境直接用浏览器打开index.html即可浏览备份好的信息


Python 环境下的配置和使用

将项目git clone到本地:

git clone https://github.com/whusnoopy/renrenBackup.git

进入文件夹,使用 virtualenv 构建运行所需虚拟环境

virtualenv env
source env/bin/activate
pip install -r requirements.txt

之后我们使用python manage.py fetch搭配参数即可进行抓取,输入python manage.py fetch --help即可查看参数详情:

-e email 用户名(邮箱)
-p password 密码
-s 状态
-g 留言板
-a 相册
-b 日志
-u 要抓的人的人人 uid(仅能抓取当前登录账户可见的内容)
-r 强制更新已抓取用户的统计信息

下面是一些例子:
抓取自己的所有信息

python manage.py fetch -e email@renren.com -p passwordAtRenren -s -g -a -b

指定抓取某人的状态

python manage.py fetch -e email@renren.com -p passwordAtRenren -s -u 30314

强制更新某人的抓取统计信息

python manage.py fetch -e email@renren.com -p passwordAtRenren -u 30314 -r

如果遇到要登录验证码的情况,在终端提示时输入自动打开的图片上的四个汉字即可。如果没有自动打开验证码图片,可到项目文件下的/static/icode.jpg找到,自行打开并输入验证码。
抓取完成后的在线版本和静态化打包和前文类似:
直接运行如下命令,即可在本机浏览器打开localhost:5000看到展示:

python manage.py runserver

将抓取的页面和静态文件统一打包,将打包文件解压后可以不启动flask也能查看:

python manage.py export -f backup.tar


至此,人人网备份脚本的介绍就结束了。希望各位能在浏览备份的时候,找到过去的一些美好回忆。

Last modification:December 19, 2019
If you think my article is useful to you, please feel free to appreciate