xhs 半自动爬虫
没事的时候写的一个 xhs 爬虫,自己用了半年了,还挺好用的,能爬指定用户或收藏夹的所有笔记(图片和视频)。现在开个源,有需要的可以自行修改。
功能
- 获取指定用户所有笔记(图片、视频)
- 获取收藏列表所有笔记(自己的收藏或者他人公开的收藏)
工具
- 安卓手机或安卓模拟器(都需要 root,且已安装 xhs 应用)
- 一台电脑
- fiddler 抓包工具
- python3
开始使用
- 导入 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 文档,所以现在仅能实现半自动爬取,使用时需要一定的计算机基础。
项目地址
本文由作者按照 CC BY 4.0 进行授权