前阵子人人网又冒了个热点,在热点事件前就考虑是不是把自己的人人信息备份下来。找了一圈,之前的各个备份工具在 2017 年人人登录机制改变后就都不能用了。参考前辈们的经验,写了这么一个工具:
https://github.com/whusnoopy/renrenBackup
目前可以
注
还打算做的工作
1
yanyuechuixue 2018-08-20 12:02:25 +08:00
赞一下~ 这是有用的东西, 比什么知乎爬虫高到不知道哪里去了~
|
2
xream 2018-08-20 13:16:16 +08:00
感谢 已备份
|
3
RYAN0UP 2018-08-20 13:20:18 +08:00 via Android
不错不错
|
4
ys0290 2018-08-20 13:24:44 +08:00 via iPhone
活在我的记忆中
|
5
matrix1010 2018-08-20 13:35:40 +08:00 via Android
我以前按最近来访爬,爬了大概几万人
|
6
4u1kto 2018-08-20 13:57:56 +08:00
谢谢提醒,已停用
|
7
sniper1211 2018-08-20 15:31:41 +08:00
赞
|
8
vjnjc 2018-08-20 16:14:08 +08:00
看起来不错,多谢分享
|
9
luanluan 2018-08-20 16:19:15 +08:00
不错,我把它改一下
|
10
muyi 2018-08-20 16:20:24 +08:00
非常实用,已备份,送上感谢~
|
11
wocanmei 2018-08-20 21:22:58 +08:00 via iPhone
人人网好久不用了
|
12
mingyun 2018-08-20 23:03:58 +08:00
进入主页就是一个妹子直播,还开着声音 现在人人网都这样了。。。
|
13
lemonda 2018-08-20 23:36:59 +08:00
有人人的时候交往女生真是很容易啊
|
14
whusnoopy OP 今天看到新闻,人人网的社交资产已经被陈一舟卖掉了,真庆幸自己先留了个后手
|
15
neoprc 2018-11-15 11:36:29 +08:00
File "fetch.py", line 5, in <module>
from playhouse.shortcuts import model_to_dict ImportError: No module named playhouse.shortcuts |
17
crazybaikal 2018-11-17 07:52:55 +08:00
非常实用,感谢楼主!
|
18
hackpro 2019-05-01 18:19:00 +08:00
感谢大佬 非常棒的工具 已 Star
提两点意见: 1、浏览器中显示时支持左右方向键自动切换图片,这个比一个个点按钮体验要好很多 2、当前显示大图的时候似乎是按照 Actual Size 模式显示的,能否做成 Fit 模式显示,这样不用滚轮上下滚了。用户查看原图的话可以考虑双击或者放大镜工具。 再次感谢🙏 |
19
whusnoopy OP @hackpro 麻烦直接在 GitHub 项目下提 issue 吧,issue 不仅仅是问题,也可以是建议,这样有助于统一管理,如果有其他人能做,也可以看到 issue 后提 Pull Request (或者你有空的话也可以把这两个功能做掉发个 PR 来)
|
20
whusnoopy OP |
21
whusnoopy OP @hackpro 展示大图对宽高比过高的图片现在也加了最大高度限制,通过点击图片查看原图(可能会影响习惯了点图是看下一张操作),详见 https://github.com/whusnoopy/renrenBackup/issues/39
|
22
hackpro 2019-05-19 10:33:43 +08:00 via iPad
@whusnoopy 感谢 键盘快捷键现在已经很好用了 但是图片显示还是有的问题 每次都要上下拖动滚动条才能看全图片
另外请教下如何按用户名 /相册名称层级导出原始图片 方便用其他软件查看 谢谢🙏 |
23
whusnoopy OP |
24
hackpro 2019-05-19 16:42:19 +08:00
@whusnoopy 可以按照长宽中取 max 按照一定的比例缩放就行了
另外更新之后的版本似乎经常出现验证码的问题 而且验证码按照弹出的图片输入四个汉字总是通不过 get icode image, output to ./static/icode.jpg Input text on Captcha icode image |
25
whusnoopy OP @hackpro 就是这个缩放尺度把握不好,而且还有外部容器和内部图片的比例问题,前端设计还是见仁见智并且各种坑
验证码的问题,建议换个 IP 后把之前的登录信息清掉后再试,这个是触发安全阈值的问题,如果你的号在不同的地方登录或同一个 IP 不停的登不同的号,容易触发验证码,这个和代码版本没有关系 |
28
hackpro 2019-10-30 21:15:26 +08:00
@whusnoopy 抱歉 我没有说清楚
>>> python manage.py fetch -e mobile -p 'pwd' -u id_num -s -g -a -b -r 最后报错的部分结果为: fetched 8 albums prepare to fetch blogs start crawl blog list page 0 Traceback (most recent call last): File "manage.py", line 116, in <module> manager.run() File "/usr/local/anaconda3/lib/python3.6/site-packages/flask_script/__init__.py", line 417, in run result = self.handle(argv[0], argv[1:]) File "/usr/local/anaconda3/lib/python3.6/site-packages/flask_script/__init__.py", line 386, in handle res = handle(*args, **config) File "/usr/local/anaconda3/lib/python3.6/site-packages/flask_script/commands.py", line 216, in __call__ return self.run(*args, **kwargs) File "manage.py", line 41, in fetch fetched = fetch_user(uid, fetch_status=status, fetch_gossip=gossip, fetch_album=album, fetch_blog=blog) File "/Users/XXX/Code/Python/renrenBackup/fetch.py", line 99, in fetch_user fetch_blog(uid) File "/Users/XXX/Code/Python/renrenBackup/fetch.py", line 76, in fetch_blog blog_count = crawl_blog.get_blogs(uid) File "/Users/XXX/Code/Python/renrenBackup/crawl/blog.py", line 83, in get_blogs total = load_blog_list(cur_page, uid) File "/Users/XXX/Code/Python/renrenBackup/crawl/blog.py", line 26, in load_blog_list r = crawler.get_json(config.BLOG_LIST_URL.format(uid=uid), {'curpage': page}) File "/Users/XXX/Code/Python/renrenBackup/crawl/crawler.py", line 123, in get_json r = json.loads(resp.text.replace(',}', '}')) File "/usr/local/anaconda3/lib/python3.6/json/__init__.py", line 354, in loads return _default_decoder.decode(s) File "/usr/local/anaconda3/lib/python3.6/json/decoder.py", line 339, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/anaconda3/lib/python3.6/json/decoder.py", line 357, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) |
29
whusnoopy OP @hackpro 这不是最新的代码更新带来的问题,而是人人网 Web 端的 blog 页面全挂导致的解析问题,在人人网自己解决这个问题前,暂时没有办法处理,建议跳过 `-b` 参数抓取 blog。这个在项目介绍文档一开始就有更新说明 https://github.com/whusnoopy/renrenBackup#%E4%BA%BA%E4%BA%BA%E7%BD%91%E4%BF%A1%E6%81%AF%E5%A4%87%E4%BB%BD%E5%B7%A5%E5%85%B7
有人提议可以用网页手机版来抓取,但是网页手机版的 blog 输出里,排版格式基本全挂,且不一定能输出全文,还有登陆安全问题(非 HTTPS,授权走明文参数),所以只能等待 另:遇到问题先看 Issue 列表也是个好习惯,可能你遇到的问题已经有其他人提出过了,如果没有,也在 Issue 里提出会更有助于他人了解问题 |