这是一个功能强大的小红书(RedNote)媒体抓取与下载工具,由 油猴插件 (Tampermonkey Script) 和 本地后端服务器 (Python Server) 两部分组成。它可以帮助你轻松提取小红书作品链接,并无水印下载图文、视频作品。
- 多页面支持:支持发现页(Explore)、用户主页、搜索结果页、专辑页等。
- 资源提取:自动提取无水印图片链接和视频链接。
- 交互式选择:内置弹窗,允许用户手动选择需要下载的图片或作品。
- 批量操作:一键提取当前页面所有作品链接或进行批量下载。
- 自动滚动:支持自动滚动页面以加载更多内容。
- 灵活下载:
- 支持浏览器直接下载(多文件自动打包为 ZIP)。
- 支持发送任务到本地后端服务器进行高效下载。
- 异步下载:基于
FastAPI和aiohttp的异步架构,支持高并发下载。 - 自动分类:下载的文件会根据类型(图片/视频)和作者名自动分目录存储。
- 断点续传/重试:具备基本的清理机制和超时处理。
- WebSocket 通讯:与前端脚本实时通讯,即时反馈下载状态。
- 安装浏览器插件 Tampermonkey (油猴)。
- 将
getim.js的内容复制并新建脚本,或者直接将文件拖入 Tampermonkey。 - 脚本会自动在小红书网页左下角生成一个浮动图标。
后端需要 Python 环境(推荐 Python 3.8+)。
- 安装依赖:
pip install fastapi uvicorn aiohttp aiofiles
- 启动服务器:
服务器默认运行在
python server.py
ws://127.0.0.1:8000。
- 打开小红书:进入任意作品页或用户主页。
- 菜单操作:
- 点击左下角的图标打开功能菜单。
- 提取链接:将当前页面的作品/用户链接复制到剪贴板。
- 下载作品:直接下载当前查看的作品。
- 批量下载:下载当前页面加载的所有作品。
- 设置项:
- 在菜单中点击“脚本设置”。
- 使用本地后端:开启后,下载任务将由
server.py接管,文件保存在server.py所在的同级目录下。 - 文件打包下载:开启后,浏览器模式下载多图作品会生成 ZIP。
下载后的文件将按以下结构组织:
project_root/
├── image/
│ └── 作者名/
│ ├── 作品标题_1.png
│ └── ...
└── video/
└── 作者名/
└── 作品标题.mp4
- 登录状态:部分功能(如用户主页抓取)可能需要你在浏览器中处于登录状态。
- 验证码:如果频繁抓取,可能会触发小红书的滑动验证码,请手动完成验证后继续。
- 法律声明:本项目仅供学习和研究使用,请勿用于任何商业用途或侵犯他人版权的行为。