XHS-Downloader:小红书图文、视频、动图完整下载的 5 条上手路径
【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader
XHS-Downloader 是一款开源的小红书作品下载工具:粘贴作品链接,即可把图文、视频、LivePhoto 动图以原始文件完整保存到本地。工具同时提供图形界面、命令行、浏览器用户脚本、API 与 MCP 五种入口,适合个人收藏、素材收集和内容采集开发者,数据全程保存在本地。
需求能不能被满足:小红书作品下载的 5 类硬指标
先对一遍你的诉求,再看它接不接得住:
| 你的需求 | XHS-Downloader 的对应能力 |
|---|---|
| 图文作品要拿到全部原图 | 一次下载作品内所有图片,格式支持 PNG、WEBP、JPEG、HEIC 自选 |
| 视频要原始清晰度 | 直接取原始视频文件,还能按分辨率、码率或大小排序挑选版本 |
| LivePhoto 动图别变静图 | 提供动图下载开关,开启后保存的是动态文件而非首帧截图 |
| 一次处理几十个链接 | 支持多链接批量输入,自动去重并跳过已下载的作品 |
| 下到一半断了网 | 内置断点续传,重新运行接着上次进度走 |
两个容易踩坑的细节,工具都替你处理了:分享文案里夹带的日期、表情和多余文字不会干扰识别,程序只提取其中的有效链接;下载过的作品 ID 会写入本地记录(Volume/ExploreID.db),重复提交直接跳过,不会让你白等一遍。
从拿到手到第一次下载成功:XHS-Downloader 最短启动路线
第一步:把程序跑起来
不想碰代码:从项目 Releases 页面下载对应平台的压缩包,解压后双击main启动即可。Mac 用户如果首次运行被系统拦截,在终端执行一次xattr -cr 项目文件夹路径解除限制。
想用源码:先准备 Python 3.12 及以上版本,然后三条命令走完安装。
git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader cd XHS-Downloader pip install -r requirements.txt习惯用 uv 的话,uv sync --no-dev同步依赖,再用uv run main.py启动。
第二步:完成第一次下载
启动后进入主界面,只有三样东西:作品链接输入框、下载按钮、读取剪贴板按钮。
把链接粘贴进输入框,按下载按钮,文件就落进Volume/Download目录了。一次粘多个链接也完全没问题——用空格分隔即可,程序自动从整段文案里挑出有效链接。复制过链接的话,点"读取剪贴板"还能省掉手动粘贴这一步。
三个方向拉满下载效率:批量、自动化与画质
批量:命令行精确挑图
图文作品十几张图,只想要其中 3 张?命令行模式用--index按序号点名:
python main.py --url "链接1" "链接2" "链接3" python main.py --url "作品链接" --index 2 4 6注意一个限制:一旦指定了--index,程序只处理第一个链接。命令行同样支持--cookie、--proxy、--image_format等参数,写进脚本就是现成的定时任务。完整参数表跑一句python main.py -h就能看到。
自动化:复制即下载与浏览器脚本联动
主界面按M键开启剪贴板监听。开启后你只需正常浏览小红书,看到值得保存的作品就复制链接,程序后台自动接住并开始下载,日志区实时滚动每个文件的进度。收集灵感的过程基本无感。
再往前一步,是项目自带的浏览器用户脚本:装好 Tampermonkey 后安装该脚本,打开任意账号主页,它会自动滚动页面,把发布、收藏、点赞、专辑里的作品链接一次性提取出来,再推送给主程序批量下载——灵感库的素材库一天就能攒起来。
画质:一个 Cookie 换高清视频
视频下出来模糊发糊,九成不是工具的锅,而是没配 Cookie:未配置时小红书默认返回低清视频,配置后才能拿到高清资源,全程无需登录账号。
获取方法 4 步:打开任意小红书网页 → 按F12调出开发者工具 → 切到"网络"面板,刷新页面后点一个请求 → 在请求头里找到Cookie字段,整段复制,填进程序设置即可。
顺手再开两个开关:动图下载控制 LivePhoto 是否保存为动态文件;视频偏好可以在分辨率、码率、文件大小之间选优。图片格式默认 JPEG,播放器不支持 HEIC 的话换 WEBP 或 PNG 更稳妥。
想接进自己的工作流?API 与 MCP 两条接入线
API 模式:运行python main.py api启动本地服务,终端会输出一枚鉴权令牌,之后所有调用都要在请求头带上Authorization: Bearer 令牌。核心接口只有一个:
POST /xhs/detail,参数url(必需)、download、index、cookie、proxy、check_record- 交互式文档自动生成在
http://127.0.0.1:5556/docs,右上角 Authorize 填入令牌就能在线调试
download置false时只取结构化数据——标题、作者、点赞数、下载地址;置true时顺带把文件下完。令牌与Volume/auth_secret.key绑定,默认永久有效;删掉这个文件,下次启动自动生成新令牌,旧令牌即失效。
MCP 模式:面向 AI 工作流。源码运行时需先装依赖(pip install "fastmcp>=4.1.0"),然后运行python main.py mcp,在支持 MCP 的客户端里添加一个 Streamable HTTP 服务,地址填http://127.0.0.1:5556/mcp/,请求头同样携带 Bearer 令牌。
配好后直接说"帮我下载这个作品的第 3 张图",AI 自己会调用工具完成,你只负责提需求。
对号入座:按你的身份选接入路径
| 身份 | 推荐路径 | 关键点 |
|---|---|---|
| 普通用户 | 程序包 + 图形界面 | 解压双击即用;Mac 首次运行记得xattr -cr解除拦截 |
| 内容创作者 | 浏览器用户脚本 + 主程序批量下载 | 脚本负责提取链接,主程序负责落盘;下载记录保持开启 |
| 开发者 | python main.py api | 接口封装进内部服务,url+download两个参数就能开工 |
| AI 工作流用户 | python main.py mcp | Streamable HTTP 端点 + Bearer 令牌,对话即调用 |
卡住了?一张表自查常见问题
| 现象 | 原因 | 处理 |
|---|---|---|
| 视频只有低清版 | 未配置 Cookie | 按上文 4 步法获取并填入设置,不用反复重试 |
| 动图保存后变成静图 | 动图下载开关未开 | 在设置里打开动图下载开关重新下载 |
| HEIC 文件打不开 | 播放器不支持该格式 | 图片格式改选 WEBP 或 PNG |
| 下载中断网,前功尽弃? | 其实没有 | 支持断点续传,重新运行接着下 |
| 同一个作品反复提交 | 触发下载记录去重 | 这是特性不是故障;想重下,先删记录里的对应 ID |
| 链接报错或触发风控 | 链接自带日期,旧链接易失效 | 重新复制一份最新链接再提交 |
| Linux 下剪贴板功能无反应 | 缺少系统工具 | 安装xclip或xsel |
| 命令行批量不生效 | 链接格式没写对 | 每个链接单独用引号包住、空格分隔;用了--index就只传 1 个链接 |
复制 3 个最近收藏的作品链接,一次性粘贴进输入框下载——十分钟以内,你就能亲眼看到"完整保存"和"截图保存"的差距。更多参数说明与配置项都写在项目根目录的 README.md 里,遇到新情况或有改进想法,直接到项目社区提问或反馈。
【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考