这款开源工具解决了数百万用户的小红书内容保存难题,一键获取无水印作品并实现批量采集管理。
在内容为王的时代,小红书(XiaoHongShu/RedNote)已成为优质图文视频内容的核心来源地之一。无论是学习教程、生活技巧还是创意灵感,用户常遇到“收藏容易保存难”的困境——官方应用不提供下载选项,第三方工具常有水印或功能残缺。XHS-Downloader 应运而生,它是一款完全免费开源的 Python 工具,基于 AIOHTTP 模块实现,专为高效采集小红书作品而设计 。
一、核心功能全景解析
XHS-Downloader 突破了小红书的内容获取壁垒,提供全链路解决方案:
- 作品链接提取能力
- 账号维度:支持提取用户发布、收藏、点赞及专辑作品链接
- 搜索维度:抓取搜索结果中的作品链接与用户主页链接
- 批量处理:单次输入多个链接(空格分隔),自动过滤无效内容
- 作品信息采集与下载
- 元数据采集:获取作品标题、描述、作者、发布时间等结构化数据
- 无水印下载:独家解析技术获取去水印的图文/视频文件
- LivePhoto支持:额外下载动态照片资源(非无水印)
- 智能化文件管理
- 重复过滤:通过作品ID数据库自动跳过已下载文件
- 完整性校验:下载中断自动恢复,确保文件完整
- 灵活存储:可选统一文件夹或按作品独立文件夹存储
- 格式自定义:图文作品支持PNG/WEBP格式转换
- 多模式运行支持
- 监听剪贴板:后台实时监测复制的小红书链接自动触发下载
- API服务器模式:通过HTTP接口调用实现跨程序协作
- 命令行控制:精准下载图文作品中的指定序号图片
表:XHS-Downloader 配置文件关键参数详解 (settings.json)
📜 参数配置说明
参数 | 类型 | 功能说明 | 默认值 |
---|---|---|---|
cookie | 字符串 | 小红书网页版 Cookie | 空(需手动设置) |
image_format | 字符串 | 图文下载格式 | PNG |
folder_mode | 布尔值 | 是否为作品创建独立文件夹 | false |
chunk | 整型 | 下载分块大小(字节) | 1048576 (1MB) |
max_retry | 整型 | 下载失败重试次数 | 5 |
proxy | 字符串 | 网络代理地址 | null |
二、安装指南:三种方式覆盖全平台
🖱 程序直接运行(推荐新手)
- 访问 GitHub Releases 下载对应系统压缩包
- 解压后进入文件夹:
- Windows:双击
main.exe
- Mac OS:终端执行
./main
(需赋予执行权限)
- 文件默认保存路径:
./_internal/Download
🐳 Docker容器运行
# 拉取镜像
docker pull joeanamier/xhs-downloader
# 启动TUI交互界面
docker run -it joeanamier/xhs-downloader
# 或启用API服务模式
docker run -it joeanamier/xhs-downloader python main.py server
⌨ 源码运行(开发者/高级用户)
# 需Python ≥ 3.12
git clone https://github.com/JoeanAmier/XHS-Downloader.git
cd XHS-Downloader
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
python main.py
三、实战使用教程
基础下载操作
- 启动程序后复制小红书作品链接(支持三种格式):
https://www.xiaohongshu.com/explore/63b275a30000000019020185
https://www.xiaohongshu.com/discovery/item/64edb460000000001f03cadc
https://xhslink.com/XXXXXX
- 点击“读取剪贴板”自动填入链接
- 选择“下载无水印作品文件”
- 在
Download
文件夹查看结果
高阶技巧
- Cookie设置提升成功率:
- 浏览器无痕模式访问
https://www.xiaohongshu.com
- 按F12打开开发者工具 → Console选项卡
- 输入
document.cookie
回车 → 复制输出内容 - 粘贴到配置文件
cookie
字段
- 油猴脚本批量采集:
- 安装Tampermonkey扩展
- 添加XHS-Downloader用户脚本
- 浏览小红书时自动提取页面所有作品链接
- 配合主程序实现批量下载
- 命令行精准下载:
# 仅下载图文作品的第1,3张图片
python main.py --url "https://www.xiaohongshu.com/explore/xxxx" --index 1,3
# 从Chrome导入Cookie
python main.py --browser_cookie Chrome --update_settings true
- API服务器模式:
import requests
server = "http://localhost:8000/xhs/"
data = {
"url": "https://www.xiaohongshu.com/explore/123456789",
"download": True,
"index": [2,4] # 下载第2和第4张图
}
response = requests.post(server, json=data)
print(response.json())
四、横向对比:为何XHS-Downloader更胜一筹?
表:小红书下载工具能力对比矩阵
🛠️ 下载工具功能对比
功能 | XHS-Downloader | 通用下载器 (IDM/FDM) | 网页在线工具 |
---|---|---|---|
无水印下载 | ✅ 支持 | ❌ 不支持 | ⚠️ 部分支持 |
作品信息结构化提取 | ✅ 支持 | ❌ 不支持 | ❌ 不支持 |
批量链接处理 | ✅ 支持 | ✅ 支持 | ❌ 不支持 |
跨平台支持 (Win/Mac/Linux) | ✅ 支持 | ⚠️ 部分仅限于 Win | ✅ 支持 |
监听剪贴板自动下载 | ✅ 支持 | ❌ 不支持 | ❌ 不支持 |
开源透明 | ✅ 开源 (GPL-3.0) | ❌ 不开源 | ❌ 不开源 |
用户脚本联动 | ✅ 支持 | ❌ 不支持 | ❌ 不支持 |
相较于通用下载工具如IDM(仅支持基础下载加速)或EagleGet(专注视频抓取),XHS-Downloader的核心优势在于:
- 深度平台适配:专门解析小红书数据结构,突破无水印技术壁垒
- 轻量无广告:28MB左右的极简体积,远离商业工具的弹窗干扰
- 全链路自动化:从链接发现→元数据提取→文件下载一气呵成
- 隐私安全:开源代码杜绝后门,本地运行避免内容上传风险
五、进阶技巧与避坑指南
- 下载加速方案
当遇到大视频下载缓慢时:
- 修改
settings.json
中的chunk
值(建议提升至10MB) - 启用代理(
proxy
参数)绕过网络限速 - 结合多线程下载器(如Axel)处理直链:
# 获取直链后使用axel加速
axel -n 10 "视频直链地址"
- 异常处理方案
- 下载中断:检查
max_retry
值(建议≥3),开启代理避免IP屏蔽 - 返回空数据:更新Cookie(有效期通常24小时),确认链接格式正确
- Mac运行失败:终端执行
chmod +x main
添加执行权限 - 批量下载策略
- 使用用户脚本采集账号所有作品页链接
- 将链接保存至
urls.txt
,一行一个 - 执行命令批量下载:
python main.py -f urls.txt
六、结语:内容保存的伦理边界
XHS-Downloader 以技术中立为原则,为个人学习与研究提供合法工具。需特别强调:
- ✋ 禁止商用:下载内容仅限个人使用,禁止用于商业变现
- ⚖️ 尊重版权:保留作品元数据,转载时明确标注来源与作者
- 🔒 隐私保护:不下载非公开内容,不破解用户隐私数据
项目持续迭代中,最新版本已支持文件断点续传和LivePhoto合成功能。建议开发者通过源码编译体验前沿特性,普通用户可关注Releases页面获取稳定版更新 。
Windows Terminal 的运行环境下,墨绿色的命令行界面中闪过一行行白色日志,当出现 “Download completed!” 的提示时,那些曾经只能在线观看的小红书作品,已然静静躺在本地文件夹中——没有水印,没有平台限制,只有纯粹的内容留存。