- 获取指定用户所有笔记(图片、视频)
- 获取收藏列表所有笔记(自己的收藏或者他人公开的收藏)
- 安卓手机或安卓模拟器(都需要 root,且已安装 xhs 应用)
- 一台电脑
- fiddler 抓包工具
-
导入 fiddler 证书到安卓系统中,见本文
-
打开 fiddler 的 filter 功能,过滤如下 url:
https://edith.xiaohongshu.com/api/sns/v1/note/faved
-
打开 xhs 应用,登陆,找到要获取的用户或是收藏列表,不停滑动(没错,这就是这个项目叫半自动的原因),直到所有笔记都加载完
-
使用 fiddler 的 decode 功能将抓到的包解码成明文 json,然后导出所有 json 响应到自定义的目录中。
-
运行
python3 run.py
- 当前只能爬取图片类笔记的首张图片,因为 api 不支持多张图片(要做的话只能一个一个笔记爬取,因为我没有爬取全部图片的需求,懒得做了)
- xhs 的 FHD 视频(1080P 以上)仅能在北京时间早上 9 点前爬取,之后就只有 HD 视频了。
- 由于近期 xhs 的设备登陆限制更加严格,所以建议使用实体安卓手机(无需 sim 卡)而不是模拟器。
- 本爬虫使用代理抓包方式,无封号风险,本人已正常使用半年。如有疑虑,建议开小号。
- 由于 xhs 没有公开 api 文档,所以现在仅能实现半自动爬取,使用时需要一定的计算机基础。