news 2026/8/14 10:47:05

小红书无水印下载实操指南:三步用 XHS-Downloader 完成链接提取与批量归档

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小红书无水印下载实操指南:三步用 XHS-Downloader 完成链接提取与批量归档

小红书无水印下载实操指南:三步用 XHS-Downloader 完成链接提取与批量归档

【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader

凌晨一点,我盯着收藏夹里那条三个月前收藏的教程视频,屏幕上是平台压缩过的画质,右下角还有一行甩不掉的水印。录屏画质更差,长截图一屏截不全,手动保存上百条内容,大概要折腾一整个周末。

后来我找到了 XHS-Downloader,一款开源的小红书作品采集与下载工具,核心是提取小红书作品链接、解析原始下载地址,并把无水印的作品文件保存到本地。这篇文章不讲虚的,从实际体验出发,说说它怎么解决"保存小红书内容"这件事,以及拿到手之后第一步该做什么。

为什么我不再手动保存小红书内容

先说说我之前的"土办法"有多麻烦:图文笔记只能长截图,画面被切断,放大就糊;视频要么录屏(二次损伤画质),要么用网页解析工具(经常失效);逐个打开、逐个保存,几十条内容一晚上就没了;文件命名全靠手打,最后"新建文件夹(3)"里躺着一堆无名文件。

XHS-Downloader 做的事情很直接:把你给它的作品链接解析成原始资源地址,然后异步下载文件。打个比方,它像一位耐心的图书管理员——你报书名(链接),它去书库(小红书服务器)把原版书(无水印原文件)取出来,再按你的规矩分门别类放好。

适合用它的人大致有三类:需要保存学习资料和教程的学生、需要收集灵感素材的设计师与创作者、需要做内容归档或数据采集的运营和开发者。如果你只是偶尔存一两条,手动截图也够用;但凡是"批量""长期"的需求,它就能派上大用场。

三分钟跑通:从克隆代码到下载第一个作品

以源码运行为例(需要 Python 3.12),最短路程就三步。

第一步,拉取代码:

git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader cd XHS-Downloader

第二步,安装依赖,两种方式任选其一:

# 方式一:使用 uv(推荐,速度快) uv sync # 方式二:使用 pip pip install -r requirements.txt

第三步,启动程序:

python main.py

程序启动后是一个终端图形界面,中间是链接输入框。把小红书作品链接粘贴进去,回车即可开始下载。它支持的链接格式包括:

  • https://www.xiaohongshu.com/explore/作品ID
  • https://www.xiaohongshu.com/discovery/item/作品ID
  • https://www.xiaohongshu.com/user/profile/作者ID/作品ID
  • https://xhslink.com/分享码(短链接)

一个很省事的细节:一次可以粘贴多个链接,用空格分隔即可,程序会自动提取有效链接。对新手来说,这基本就是全部操作。

关于 Cookie 先说一句:从 2.2 版本起,功能正常情况下不需要额外配置 Cookie 就能下载。配置登录态的 Cookie 可以获得更完整的体验(比如视频的更高分辨率),但这不是起步的必需品。

三个真实使用场景:学生、设计师和运营分别怎么用它

场景一:设计师攒素材

小林是平面设计师,每天在小红书刷灵感,一个月攒了上百条图文笔记。她的痛点是水印图没法直接用,手动保存的图片命名混乱。她在程序里开启"每个作者单独文件夹",把图文格式设为 WebP,命名规则改成"作者昵称 作品标题"。下载完成后打开文件夹,图片按作者分好、命名可读、无水印、接近原画质,直接就能进素材库。

场景二:博主备份自己的账号

阿澈想把账号里发布过的所有作品备份到本地,但一条条复制链接太累。他先装了浏览器用户脚本,在小红书页面打开脚本菜单,点"提取发布作品链接",脚本自动滚动页面直到加载完所有作品,再把链接一键复制出来。随后把整串链接粘贴进主程序,批量下载一次完成。

场景三:运营团队做数据归档

运营同学需要定期把一批竞品笔记的元数据(标题、点赞、评论、发布时间等)和文件归档下来。他直接用 API 模式启动程序,用脚本调接口批量拿数据,配合定时任务跑,省去了反复手点界面的时间。

这三个场景分别对应三种用法:纯界面操作、脚本辅助批量提取、接口化调用。共同点是——把"打开—复制—粘贴—保存—重命名"这条重复链路,压缩成一次操作。

关键能力逐个看:这些设计是怎么配合的

链接提取与剪贴板监听

除了手动粘贴链接,程序支持后台监听剪贴板:复制链接后自动开始下载,适合你一边逛小红书一边攒任务。配合用户脚本,还能把"提取发布、收藏、点赞、专辑作品链接""提取搜索结果链接"这些页面操作直接变成下载任务。

无水印下载与文件处理流水线

下载不是简单地把文件拉下来,它包含一整套处理:

  • 断点续传:网络中断后从断点继续,不用从头再来;
  • 智能识别文件类型:自动判断作品是图文还是视频,走对应的处理逻辑;
  • 图片格式可选:PNGWEBPJPEGHEICAUTO(跟随服务器返回),其中 WebP 通常能省不少存储空间;
  • 自定义命名规则:文件名支持"发布时间、作者昵称、作品标题、点赞数量、作品类型"等十余个字段自由组合;
  • 作者归档与昵称更新:按作者分文件夹,作者改昵称后,已下载文件的昵称部分会自动同步更新;
  • 跳过已下载:下载过的作品 ID 会记录到数据库,下次自动跳过,避免重复下载。

为了不给平台服务器造成压力,程序内置了请求延时机制。这一点对长期使用者很重要,能降低被风控的概率。

命令行模式:适合脚本化与精细控制

不想开图形界面时,命令行模式能做的事更多。比如图文作品只想下载第 1、3、5 张图:

python -m source.CLI.main -u "作品链接" --index "1 3 5"

指定图片格式并保存到独立文件夹:

python -m source.CLI.main -u "作品链接" --image_format webp --folder_mode true

从浏览器读取 Cookie 并写入配置:

python main.py --browser_cookie Chrome --update_settings

完整的参数(链接、存储路径、命名、代理、超时、重试、分块大小等)可以用--help查看:

其中--browser_cookie值得一提:它支持从 Chrome、Edge 等浏览器自动读取小红书 Cookie 并写入配置,省去手动复制。注意在 Windows 上需要以管理员身份运行程序才能读取浏览器 Cookie。

用户脚本与程序联动

用户脚本(static/XHS-Downloader.js,配合 Tampermonkey 使用)主要解决"批量获取链接"的问题:自动滚动加载、提取发布/收藏/点赞/专辑作品链接、提取搜索结果链接。更进阶的用法是把程序作为服务器运行(配置文件里把script_server设为true),在浏览器里点"推送下载任务",由本地程序完成下载——这也是很多人"逛着逛着就把内容存下来"的推荐姿势。

新手最容易踩的五个坑,以及排查思路

坑一:作品链接提示失效或数据为空

作品链接携带日期信息,使用旧链接可能触发风控。排查思路:复制最新获取的链接再试;仍失败就检查网络能否正常访问小红书,必要时更新 Cookie。

坑二:文件明明没了,下载却"被跳过"

程序默认记录已下载的作品 ID。如果之前下载过、后来文件被删了,它会因记录存在而跳过。想重新下载,去Volume/ExploreID.db删除对应记录,或暂时关闭"下载记录"开关。

坑三:macOS 双击 main 没反应

Mac 上程序包未签名,首次运行会被系统安全限制拦截。在终端执行xattr -cr 项目文件夹路径移除安全标记即可,只需执行一次。

坑四:用户脚本下载文件失败

开着全局代理时,脚本下载可能失败。排查思路:先关闭代理工具再试;另外脚本处理无水印文件需要时间,不要反复点击下载按钮。

坑五:改了配置文件不生效

配置参数填了非法值时,程序会用默认值兜底。修改Volume/settings.json后需要重启程序才生效;在界面上交互卡顿时,直接编辑这个 JSON 文件往往更省事。

再进一步:配置文件、二次开发与 MCP 集成

主配置在Volume/settings.json,首次运行自动生成。几个值得关注的高频参数:

{ "work_path": "Volume", "folder_name": "Download", "name_format": "发布时间 作者昵称 作品标题", "image_format": "PNG", "folder_mode": false, "author_archive": false, "download_record": true, "chunk": 2097152, "max_retry": 5, "language": "zh_CN" }
  • name_format:决定文件名,支持收藏数、评论数、点赞数、作品标签、作品 ID、标题、描述、类型、发布时间、作者昵称、作者 ID 等字段;
  • author_archive:按作者归档,还可以通过mapping_data给作者设置别名;
  • chunkmax_retry:网络环境不稳时适当调大,能提升下载成功率。

如果这些还不够,项目保留了二次开发入口。example.py展示了如何用代码调用核心类XHS,传入链接、下载开关、图片序号等参数,直接拿到作品数据或触发下载,适合嵌入自己的脚本和业务系统。

对 AI 集成感兴趣的话,项目还提供 MCP 模式。启动python main.py mcp后,以 Streamable HTTP 方式提供接口,把 MCP 服务地址填进支持 MCP 的客户端(比如 AI 助手工具),就能用自然语言让它"获取某条笔记的信息"或"下载某个作品",链接解析和文件下载都由程序完成。

API 模式同样可用:python main.py api启动后访问http://127.0.0.1:5556/docs可看到交互式接口文档,POST /xhs/detail接口接收链接,返回作品信息或触发下载。

动手前最后确认的几件事

把整个流程走完,XHS-Downloader 带来的实际收益是这样的:链接批量提取、无水印原文件下载、断点续传兜底、文件自动分类命名、下载记录防重复,往上还有命令行、API、MCP 这些可扩展的接口。

给你的下一步行动清单:

  1. 克隆仓库,按上文完成环境安装;
  2. 先用一条链接跑通主程序下载,确认文件落盘位置(默认Volume/Download);
  3. 再按自己的习惯,设置命名规则和归档方式;
  4. 需要批量提取链接时,装上用户脚本配合使用;
  5. 有自动化需求的,再研究命令行或 API 模式。

最后提醒一句:下载到的内容请仅用于个人学习与合理参考,保存和引用时注意标注来源,尊重原作者的权利。工具解决的是"怎么存"的问题,而"存来做什么"的边界,由使用者自己把握。

【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/14 10:43:48

Tomcat 404错误全解析:从网络入口到Spring MVC映射的排障指南

1. 从“404”说起:一个资深后端工程师的日常排障“请求的资源不可用”——这句话对任何一个和Tomcat打过交道的开发者来说,都再熟悉不过了。它像一个沉默的守门人,用冷冰冰的HTTP 404状态码,将你挡在应用的大门之外。表面上看&…

作者头像 李华
网站建设 2026/8/14 10:41:53

PyTorch中ones_like与zeros_like函数:原理、应用与最佳实践

1. 从“手动复制”到“智能创建”:为什么我们需要*_like函数如果你用过 PyTorch 或者 NumPy,大概率写过这样的代码:想创建一个和已有张量tensor_a形状、数据类型、设备都一模一样的新张量,但里面的元素全是 1 或者 0。新手的第一反…

作者头像 李华
网站建设 2026/8/14 10:37:48

STM32F429 TouchGFX环境搭建:从CubeMX配置到屏幕点亮全解析

1. 项目缘起:从裸屏到交互界面的跨越在嵌入式开发领域,尤其是基于STM32这类MCU的项目中,我们常常会遇到一个核心矛盾:强大的硬件性能与简陋的用户界面(UI)之间的不匹配。我手头这个基于STM32F429IGT6的项目…

作者头像 李华
网站建设 2026/8/14 10:37:30

消息被撤回别干着急,这份 PC 端防撤回补丁实战指南请收好

消息被撤回别干着急,这份 PC 端防撤回补丁实战指南请收好 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://gitcode…

作者头像 李华
网站建设 2026/8/14 10:37:08

Linux系统迁移实战:从dd、rsync到Clonezilla的完整方案与避坑指南

1. 项目概述:为什么我们需要系统迁移?你花了整整一周,终于把新装的Linux系统调教得服服帖帖:开发环境、数据库、各种服务、桌面美化、输入法、甚至包括那些只有你自己知道的个性化快捷键和脚本,全都配置好了。这时候&a…

作者头像 李华