All Projects → whusnoopy → Renrenbackup

whusnoopy / Renrenbackup

Licence: mit
A backup tool for renren.com

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Renrenbackup

Pymap webapp
A webapp version for Raster Map Download Helper
Stars: ✭ 34 (-89%)
Mutual labels:  flask, requests
Turkce Python Kaynaklari
Türkçe olarak hazırlanmış Python programlama dili ile ilgili içeriklerin derlendiği sayfa.
Stars: ✭ 295 (-4.53%)
Mutual labels:  flask, requests
Autoline
建议你使用更新的AutoLink平台
Stars: ✭ 227 (-26.54%)
Mutual labels:  flask, requests
Microservices Connector
Inter-Service communication framework, support for microservice architecture and distributed system
Stars: ✭ 17 (-94.5%)
Mutual labels:  flask, requests
Ni Pyt
Materiály k předmětu NI-PYT na FIT ČVUT
Stars: ✭ 112 (-63.75%)
Mutual labels:  flask, requests
Taisite Platform
最强接口测试平台
Stars: ✭ 203 (-34.3%)
Mutual labels:  flask, requests
Swaglyrics For Spotify
📃 Get lyrics of currently playing Spotify song so you don't sing along with the wrong ones and embarrass yourself later. Very fast.
Stars: ✭ 235 (-23.95%)
Mutual labels:  flask, requests
Freki
🐺 Malware analysis platform
Stars: ✭ 285 (-7.77%)
Mutual labels:  flask
Issue Label Bot
Code For The Issue Label Bot, an App that automatically labels issues using machine learning, available on the GitHub Marketplace. This is also code for the blog article: "How to automate tasks on GitHub with machine learning for fun and profit"
Stars: ✭ 292 (-5.5%)
Mutual labels:  flask
Python3 Concurrency Pics 02
爬取 www.mzitu.com 全站图片,截至目前共5162个图集,16.5万多张美女图片,使用 asyncio 和 aiohttp 实现的异步版本只需要不到2小时就能爬取完成。按日期创建图集目录,保存更合理。控制台只显示下载的进度条,详细信息保存在日志文件中。支持异常处理,不会终止爬虫程序。失败的请求,下次再执行爬虫程序时会自动下载
Stars: ✭ 275 (-11%)
Mutual labels:  requests
Sklearnflask
Flask API for training and predicting using scikit learn models
Stars: ✭ 275 (-11%)
Mutual labels:  flask
Athena
Minimalist static blog generator written in Python
Stars: ✭ 286 (-7.44%)
Mutual labels:  flask
Annotated Py Projects
flask/sanic/asyncio/bottle/webpy 大量项目 源码阅读注释合集
Stars: ✭ 308 (-0.32%)
Mutual labels:  flask
Toapi
Every web site provides APIs.
Stars: ✭ 3,209 (+938.51%)
Mutual labels:  flask
Screenbloom
Fake Ambilight for Philips Hue via Python
Stars: ✭ 289 (-6.47%)
Mutual labels:  flask
Flask Sqlacodegen
🍶 Automatic model code generator for SQLAlchemy with Flask support
Stars: ✭ 283 (-8.41%)
Mutual labels:  flask
Wikipedia Map
A web app for visualizing the connections between Wikipedia pages.
Stars: ✭ 302 (-2.27%)
Mutual labels:  flask
Admin Dashboards
Admin Dashboards - Open-Source and Free | AppSeed
Stars: ✭ 275 (-11%)
Mutual labels:  flask
Dianping textmining
大众点评评论文本挖掘,包括点评数据爬取、数据清洗入库、数据分析、评论情感分析等的完整挖掘项目
Stars: ✭ 289 (-6.47%)
Mutual labels:  requests
Flask Chatterbot
Simple boilerplate for ChatterBot using Flask
Stars: ✭ 295 (-4.53%)
Mutual labels:  flask

renrenBackup

A backup tool for renren.com

License: MIT CodeFactor

人人网信息备份工具

特别说明:

2019 年 8 月开始人人网的日志功能出现异常,无法抓取,使用时请去掉 -b 参数跳过日志的抓取

2020 年 11 月开始人人网的状态功能出现异常,无法抓取,使用时请去掉 -s 参数跳过状态的抓取

Windows 系统无 Python 环境直接运行

  1. https://github.com/whusnoopy/renrenBackup/releases/latest 发布页面下载最新的 renrenBackup_x.x.zip 压缩文件,解压到一个单独的目录
  2. 在命令提示符进入该目录,执行 renrenBackup.exe fetch -e email -p password -g -a 来抓取账号为 email 密码是 password 的用户信息(详细参数可见下方 Python 环境运行方式)
  3. 抓取后,在命令提示符下执行 renrenBackup.exe runserver 后,可以在浏览器里打开 http://localhost:5000 来查看抓取后的展示
  4. 抓取后,在命令提示符下执行 renrenBackup.exe export -f backup.tar,可以生成 backup.tar 这个打包文件,解压后无需任何环境直接用浏览器打开 index.html 即可浏览备份好的信息

注意:目前的版本并未经过严格测试和兼容性确认,只在 Windows 10 x64 1809 版本上简单确认可用,其他系统(Linux/macOS)或版本(非 Win10x64)都可能无法运行,欢迎协助更新

Python 环境使用和修改

基本配置

理论上 Python 2.7+ 和 Python 3.6+ 都可以用 (我是在 Windows 10 + Python 3.7.0 的环境下测试的)

使用 virtualenv 构建运行所需虚拟环境

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

抓取

直接运行 python manage.py fetch 即可,相关参数见下,不输入用户名密码是不会抓取的,不带各种抓取参数就是只登陆不抓取

  • -e email 用户名(邮箱)
  • -p password 密码
  • -s 状态
  • -g 留言板
  • -a 相册
  • -b 日志
  • -u 要抓的人的人人 uid(仅能抓取当前登录账户可见的内容)
  • -r 强制更新已抓取用户的统计信息
# 查看详细的命令参数
$ python manage.py fetch --help
usage: manage.py fetch [-?] [-e EMAIL] [-p PASSWORD] [-s] [-g] [-a] [-b] [-r]
                       [-u UID]

optional arguments:
  -?, --help            show this help message and exit
  -e EMAIL, --email EMAIL
  -p PASSWORD, --password PASSWORD
  -s, --status
  -g, --gossip
  -a, --album
  -b, --blog
  -r, --refresh_count
  -u UID, --uid UID

# 抓取自己的所有信息
$ python manage.py fetch -e [email protected] -p passwordAtRenren -s -g -a -b

# 指定抓取某人的留言板
$ python manage.py fetch -e [email protected] -p passwordAtRenren -g -u 30314

# 强制更新某人的抓取统计信息
$ python manage.py fetch -e [email protected] -p passwordAtRenren -u 30314 -r

如果遇到要登录验证码的情况,在终端提示时输入自动打开的图片上的四个汉字即可。如果没有自动打开验证码图片,可到项目的 /static/icode.jpg 找到,自行打开并输入验证码

展示

直接运行如下命令,即可在本机浏览器打开 http://localhost:5000 看到展示

python manage.py runserver

打包备份

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

python manage.py export -f backup.tar

版本发布

目前在 Windows 平台下使用 pyinstaller + pywin32 来做版本发布,希望给没有 Python 环境的朋友提供帮助

下述操作均在 Windows 的命令提示符(cmd)下完成,PowerShell 和 WSL 可能出现奇怪的问题(我还不确定问题原因)

# 安装依赖
pip install pyinstaller pywin32

# 打包发布,会在 dist 目录下生成 renrenBackup.exe,并把 static 和 templates 初始目录也放到 dist 下
python manage.py release

执行命令后将 dist 目录单独打成一个压缩包就可以发布了

TODO

  • [x] 纯静态输出,不用启 flask 也能查看(把评论点赞数据也输出到页面,js 只控制是否展示)
  • [x] 备份打包
  • [x] 可以抓别人的记录
  • [x] 同时展示多人记录
  • [x] 参数交互输入,更好满足非 Python 环境下的可用性
  • [ ] 强制重抓之前抓挂的图(还挂就替换成默认图)
  • [ ] 断点续传,抓到一半挂了后,重启跳过已抓取的内容(或根据 DB 已有数据来优化抓取量)#13
  • [x] 用 Python 的日志系统替代 print 输出

新功能需求

  • [ ] 纯动态输出,学习用 Vue.js
  • [ ] 搜索功能 #21
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].