免费开源的 XHS-Downloader:3 分钟把小红书作品存成原图和本地视频
【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader
收藏夹里存了几十条小红书笔记,过一阵子再打开,发现图片糊了、链接也失效了——这种"存了等于没存"的事,很多人遇到过。开源项目 XHS-Downloader 做的事很直接:你贴一个作品链接,它负责解析、下载、归档,把原图和本地视频存进你的硬盘,全程不用登录账号。
项目卡片:它是什么
XHS-Downloader 是一个基于 Python 的小红书作品采集工具,一条命令走完"链接 → 解析 → 下载 → 归档"四步,同时提供图形界面、命令行、API、MCP 四种入口,外加一个浏览器用户脚本帮你批量搬链接。
| 项目信息 | 内容 |
|---|---|
| 核心技术栈 | Python 3.12+,AIOHTTP / FastAPI / Textual |
| 许可证 | GPL-3.0 |
| 功能点 1 | 采集作品信息并下载原图、视频、封面,图片格式可选 PNG、WEBP、JPEG、HEIC 或 AUTO |
| 功能点 2 | 批量粘贴链接自动识别有效链接,支持断点续传 |
| 功能点 3 | 下载记录写入数据库(source/module/recorder.py管理),重复作品自动跳过 |
| 功能点 4 | 支持 API 与 MCP 两种服务模式,可接入程序和 AI 对话工具 |
首次上手:从克隆到出第一个文件
整个过程四步,装好 Python 3.12 就能开始。
- 拉取源码:
git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader cd XHS-Downloader- 安装依赖,两种方式任选其一:
pip install -r requirements.txt # 或 uv sync --no-dev- 启动程序:
python main.py默认打开图形界面。把作品链接粘进输入框,点下载即可。
- 验证产出:文件默认落在项目根目录的
./Volume/Download里,配置写在./Volume/settings.json,首次运行自动生成。
功能进阶指南
按你愿意花的时间分三层,从"打开就能用"一路到"接入自己的工作流"。
立刻能用:图形界面里粘贴链接就能下
在输入框贴多个链接时用空格隔开,程序会自动挑出有效的再下载,explore作品页和xhslink.com短链都认。想更省事的话,在界面开启剪贴板监听,之后在任何网页复制作品链接,程序都会自己接住任务。下载记录默认开启,同一作品第二次贴进来会直接跳过,不会重复占空间。
用得巧:命令行只下载指定的三张图
长图文有几十张图时,命令行能精确挑图,--index后面跟图片序号:
# 只下载第 3、7 张图 python main.py --url "作品链接" --index 3 7想换保存位置加--work_path,其余参数的说明运行python main.py --help即可查到,不用逐个背。
用到极致:API 与 MCP 把能力交给程序和 AI
API 模式一行命令启动:
python main.py api启动后访问http://127.0.0.1:5556/docs就是交互式文档,POST 请求/xhs/detail传入作品链接即可采集信息并触发下载。项目根目录的example.py写了一份完整调用示例,照着改就能接进自己的程序。MCP 模式把上面的命令换成python main.py mcp,然后按 README 里的示例把http://127.0.0.1:5556/mcp配进支持 MCP 的对话工具,令牌填启动时输出的鉴权令牌——之后对 AI 说一句"帮我下载这个链接"就能跑起来。
组合玩法
两个真实场景,核心都是分工:浏览器或 AI 负责找链接,程序负责下载。
用户脚本 + 主程序:收藏夹里有几百条笔记时,手点不现实。在 Tampermonkey 里导入仓库自带的static/XHS-Downloader.js,小红书网页右上角会多出一个菜单,可以一键提取收藏、点赞、发布作品的链接并复制。再把配置里的script_server设为true,让主程序后台挂着当服务器,在浏览器点"推送下载任务",脚本就把任务交给程序执行,浏览器只管提取。最后把author_archive设为true,几百条笔记会按作者自动分好文件夹。
MCP + AI 对话工具:浏览器里看到想存的作品,直接把链接丢给接了 XHS-Downloader 的 AI 助手,作品信息、下载动作都由它代为执行,省去打开终端的步骤。
避坑与常用配置
先对照这张表排查问题,再决定要不要动配置:
| 现象 | 原因 | 解法 |
|---|---|---|
| 下载卡住或失败 | 全局代理干扰了请求 | 关闭系统代理后重试 |
| 视频只有低清晰度 | 未配置 Cookie | 按下面步骤补上 Cookie 并重启程序 |
| 链接提示失效、被风控 | 作品链接自带日期信息,旧链接易被拦 | 用最新抓取的链接,不要短时间高频请求 |
| 重复下载同一作品 | 数据库里已有下载记录(设计如此) | 想重新下就删掉ExploreID.db中对应记录 |
Cookie 就是请求随身携带的身份证。获取步骤:浏览器打开小红书网页版,按F12进开发者工具,切到"网络"标签,在过滤框输入cookie-name:web_session,点任意作品,选中一个请求把请求头里的 Cookie 整段复制,粘贴到设置或配置文件的cookie项,重启生效。
升级方面:源码用户执行git pull origin main再更新一次依赖即可;用打包程序的用户,把旧版根目录里的Volume文件夹整体复制到新版里,配置和下载记录就都带过去了。
开头那个收藏失效的尴尬,到这一步基本可以杜绝。XHS-Downloader 把每条链接变成硬盘里带原图和视频的文件,剩下的交给自动跳过和归档就行。
【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考