XHS-Downloader 如何快速保存小红书作品:新手向完整指南
2026/8/24 13:15:40 网站建设 项目流程

XHS-Downloader 如何快速保存小红书作品:新手向完整指南

【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader

XHS-Downloader 是一个小红书链接提取与作品采集工具:你粘贴作品链接,它会采集作品信息、提取无水印文件地址,并把图片和视频下载到本地。适合想收藏作品的普通用户、需要批量存素材的创作者,以及想通过 API 调用的开发者。三条安装路径任选其一,5 分钟能完成第一次下载。

📋 功能一览

功能对你意味着什么
无水印作品下载直接拿到原图与视频文件,不用截图、录屏
多链接批量处理一次粘贴多个链接,用空格分隔即可依次处理
自动跳过已下载按作品 ID 记录下载历史,重复粘贴不会再下一遍
自定义命名与归档文件名可按发布时间、作者、标题等字段拼装,也可按作者分文件夹
剪贴板监听后台程序监听剪贴板,复制链接后自动开始下载
API 与 MCP 调用可部署为服务,供自己的脚本和系统集成调用

🚀 三条安装路径,选一条开始

开箱即用:运行可执行文件

适合 Windows 10 及以上和 macOS 用户,无需安装 Python。

  1. 到项目仓库的 Releases 页面下载最新版程序压缩包并解压
  2. macOS 首次运行被系统拦截时,在终端执行xattr -cr 项目文件夹路径一次即可
  3. 双击程序文件夹里的main启动,文件默认下载到.\_internal\Volume\Download

自己搭:源码运行

需要 Python 3.12 及以上版本,依赖用 uv 或 pip 安装均可:

git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader cd XHS-Downloader uv sync --no-dev uv run main.py

不用 uv 的话,执行pip install -r requirements.txt安装依赖,再运行python main.py

跑在服务器:Docker 部署

docker pull joeanamier/xhs-downloader docker run --name xhs -p 5556:5556 -v xhs_downloader_volume:/app/Volume -it joeanamier/xhs-downloader

启动容器末尾加上python main.py api即为 API 模式,程序对外监听 5556 端口。注意容器模式下不支持剪贴板读取与监听功能。

程序运行界面:输入框、下载按钮与日志区

⌨️ 实操:完成第一次下载

  1. 启动程序后进入 TUI 界面。界面中央是一个输入框,旁边有"下载作品文件""读取剪贴板""清空输入框"三个按钮,底部显示快捷键:Q 退出、S 设置、R 下载记录、M 开启剪贴板监听。
  2. 把作品链接粘贴进输入框。支持这几种格式:xiaohongshu.com/explore/作品IDxiaohongshu.com/discovery/item/作品IDxiaohongshu.com/user/profile/作者ID/作品ID,以及xhslink.com短链接;多个链接用空格分隔,程序会自动挑出有效链接。
  3. 点击"下载作品文件",等待日志输出完成。

预期效果:日志区会打印"共处理 N 个作品,成功 N 个,失败 N 个,跳过 N 个"的统计;文件出现在Volume/Download文件夹里,文件名默认按"发布时间 作者昵称 作品标题"生成。

下载过程中日志区会实时输出作品处理进度

它是怎么工作的

用大白话说:程序先从你输入的文字里提取有效作品链接(短链接会被展开),然后带着你的 Cookie 向平台请求作品数据,解析出标题、作者、发布时间、点赞收藏数和无水印资源地址,再逐个文件下载到本地,下载过程支持断点续传。每次下载成功,作品 ID 都会写进本地数据库,之后遇到同一作品直接跳过,这就是"自动去重"的来源。

主流程在source/application/app.pyextract方法里:

async def extract(self, url, download=False, index=None): urls = await self.extract_links(url) # 提取有效作品链接 for i in urls: await self.__deal_extract(i, download, index) # 逐个获取并下载

数据解析逻辑在source/application/explore.py,文件下载在source/application/download.py,想看细节可以直接翻这几个文件。

配置速查

配置文件是./Volume/settings.json,首次运行自动生成,改完重启程序生效。常用参数:

参数默认值什么场景下改它
cookie没配 Cookie 时视频只能下载低分辨率,建议配置
name_format发布时间 作者昵称 作品标题想自定义文件名,支持作品ID、点赞数量等字段
work_path项目根路径/Volume想更换作品文件保存根目录
image_formatJPEG想改图片格式,支持 AUTO、PNG、WEBP、JPEG、HEIC
proxynull网络需要走代理时
timeout10请求频繁超时时调大,单位秒
max_retry5网络不稳定时增加失败重试次数
author_archivefalse想把每位作者的作品存进独立文件夹时开启

进阶:用浏览器脚本推送下载任务

这是新手最实用的一条进阶路线。给浏览器装好 Tampermonkey 扩展后,把仓库static/XHS-Downloader.js脚本导入浏览器即可使用。

脚本单独就能工作:在小红书网页里直接下载作品,或从推荐页、账号发布/收藏/点赞/专辑页、搜索结果页提取作品链接,提取结果可以复制回主程序批量下载。

如果想省掉复制这一步,可以让脚本和主程序联动:在settings.json里把script_server设为true,保持程序在后台运行。之后你在浏览器打开任意作品页,点击脚本菜单里的"推送下载任务",任务就发给本地程序处理,下载完成文件自动入库。两个注意点:脚本的"自动滚动加载"默认是关闭的,因为可能被平台判定为自动化操作;多文件作品脚本端默认打包成压缩包下载。

用户脚本安装:把 XHS-Downloader.js 导入 Tampermonkey 即可

❓ 下载失败怎么排查

现象可能原因处理方式
视频画质低未配置 Cookie 或已过期按 README 的 Cookie 章节用开发者工具重新获取并填入配置
作品获取失败链接携带日期信息,旧链接易被风控重新复制最新的作品链接再试
作品被跳过,没有下载作品 ID 已在下载记录中通过程序"下载记录"功能删除对应 ID 后重新下载
macOS 首次启动被拦截可执行文件未做代码签名终端执行xattr -cr 项目文件夹路径
源码模式无法启动Python 版本低于 3.12升级解释器后重新安装依赖

资源与合规

  • 项目仓库:XHS-Downloader(gitcode 镜像),Releases 页面提供可执行文件与源码下载
  • 完整文档:仓库内的 README.md
  • 问题反馈:在仓库 Issue 页面提交,附带上日志与复现步骤

本工具仅供个人学习与研究使用。下载的内容请尊重原作者版权,并遵守平台服务条款。

【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询