别再一张张截图存小红书了:免费无水印下载工具 XHS-Downloader 实测全记录
【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader
我的手机相册里一度躺着两千多张带水印的小红书截图,视频则全靠录屏抢救,画质糊成一片。直到我找到 XHS-Downloader——一个免费开源的小红书无水印下载工具,能把图文笔记和视频按原始画质保存到本地,还能把整个账号的作品链接批量捞出来。这篇文章不堆功能清单,就讲我自己从纠结到上手、再到一口气搬空整个收藏夹的真实过程,顺带回答我当初最想弄明白的三个问题。
第一个问题:它凭什么能拿到无水印原图?
先说结论:它下载的根本不是"网页上显示的那份文件",而是服务器上的原始资源。
原理其实很直白——程序拿到作品链接后,向小红书网页接口发起请求,解析出媒体文件的真实直链,再走异步下载。页面端加水印、二次压缩的环节被整个绕开了,所以拿到手的图片和视频就是源文件本身,画质不打折扣。它还内置了请求延时和断点续传机制,批量下载时不会把连接压得太狠,中途断了也能接着传。
具体能干什么,我上手后梳理出这么几类:
- 单个作品的图文、视频、动图(livePhoto)下载;
- 账号发布、收藏、点赞、专辑里的作品链接批量提取;
- 搜索结果里的作品链接和用户链接提取;
- 自定义图片输出格式、视频画质偏好、文件命名和归档方式;
- 命令行、API、MCP 三种调用入口,供不同使用习惯的人选。
启动方式也很多,我按自己的需求做了张对比表:
| 运行方式 | 适合谁 | 上手成本 |
|---|---|---|
| 源码运行(uv 同步依赖) | 想跑命令行、接 API/MCP、改配置的人 | 需要 Python 3.12 及以上 |
| 官方程序压缩包 | 只想要"解压即用"的普通用户 | 双击 main 就能跑,零配置 |
| Docker 容器 | 服务器党、想隔离环境的用户 | 一条命令拉镜像建容器 |
我属于"什么都要试一遍"的类型,所以选了源码方式,正好把命令行和 API 也一并体验了。
第二个问题:从零到第一次下载,真的只要十分钟?
答案是:差不多。我的环境是 macOS,提前装好了 Python 3.12,然后按顺序敲了这么几行:
git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader cd XHS-Downloader uv sync --no-dev uv run main.py依赖同步大概花了两三分钟。如果你是 pip 派,也可以用pip install -r requirements.txt代替 uv,效果一样。启动后预期会看到一个深色风格的图形界面,顶部显示版本号和开源协议,中间是作品链接输入框,下方是"下载作品文件""读取剪贴板""清空输入框"三个按钮——看到这个画面,第一步就算成了。
不想装 Python 的话,直接下载 Releases 里的程序压缩包,解压后双击main即可,文件默认存到_internal\Volume\Download,配置在_internal\Volume\settings.json。macOS 用户记得首次运行前在终端执行xattr -cr 项目文件夹路径去掉系统安全标记,否则程序会被拦下来。
到这里其实已经能下载了,但我强烈建议你做一件事:配置一个 Cookie。不配也能用,只是视频作品只能拿到低分辨率版本;配了之后能解锁高清源文件,而且不需要登录账号。获取方法很简单——浏览器无痕模式打开小红书探索页,F12 打开开发者工具,切到"网络"标签并勾选"保留日志",筛选出web_session相关的请求,把请求头里的 Cookie 字段整段复制,粘贴进程序的 Cookie 设置即可。
预期结果:同一部视频,配置前后下载到的清晰度能明显拉开差距,画质直接回到源文件水准。
第三个问题:整个收藏夹几十上百篇,怎么一次搬空?
单篇粘贴链接当然没问题,但我的诉求是"把某个博主的发布列表全存下来",一个个复制链接不现实。这时候就要请出配套的浏览器用户脚本了——配合 Tampermonkey 之类的脚本管理器装上之后,网页端就能一键提取:
- 推荐页的作品链接;
- 账号发布、收藏、点赞、专辑里的作品链接;
- 搜索结果里的作品链接和用户链接。
提取时还能开启自动滚动,让页面把作品全部加载完再抓取,默认滚动 50 次,次数可改。抓完直接复制,回到程序输入框一次性粘贴,多个链接用空格分隔,程序会自动识别有效链接并开始下载。
如果你的场景是"边刷边存",还有个更省事的联动玩法:在配置里把script_server设为true,程序保持后台运行充当服务器,浏览器里点一下用户脚本菜单里的"推送下载任务",任务就直接甩给程序处理了,全程不用复制粘贴。
让它按你的规矩来:几个值得改的配置和命令行技巧
下载完只是第一步,让文件"长成你想要的样子"才是省心的地方。程序首次运行会自动生成Volume/settings.json,常用参数我整理了一张速查表:
| 参数 | 可选值 | 我的建议 |
|---|---|---|
| video_preference | resolution / bitrate / size | 网络好就选 resolution(分辨率优先) |
| image_format | AUTO / PNG / WEBP / JPEG / HEIC | 要做后期选 PNG,想省空间选 WEBP |
| live_download | true / false | 想保存动图文件就打开 |
| download_record | true / false | 默认开启,自动跳过已下载作品 |
| folder_mode | true / false | 每篇作品单独一个文件夹 |
| author_archive | true / false | 按作者归档,追更党福音 |
如果你的需求是"只要某篇笔记的第 3、5、7 张图",图形界面反而啰嗦,命令行更精准。我常用的三条命令长这样:
# 只下载指定序号的图片(仅对图文作品生效) python main.py -u "作品链接" --index "1 3 5" # 指定图文输出格式 python main.py -u "作品链接" --image_format webp # 一次下载多个作品,链接用空格分隔、整体加引号 python main.py -u "链接1 链接2 链接3" --author_archive true命令行参数在程序里都有说明,支持--folder_mode(每篇单独建文件夹)、--name_format(自定义命名)、--write_mtime(把文件修改时间改成作品发布时间)等。注意一个小坑:一旦指定了--index,就只处理第一个链接,所以"挑图"和"批量"别混在一条命令里用。
进阶一点,还有两种自动化入口:运行python main.py api后访问http://127.0.0.1:5556/docs能看到自动生成的接口文档,支持 POST/xhs/detail传url、download、index等参数,适合写脚本接入自己的工作流;运行python main.py mcp则能把程序变成 MCP 服务(地址http://127.0.0.1:5556/mcp/),在支持 MCP 的客户端里直接用自然语言让它"获取某作品数据"或"下载某作品",二次开发门槛很低。
我的实测账本,和几个替你踩过的坑
上周我把一位博主的发布列表整个搬空了:260 篇图文加 40 条视频,从脚本滚屏捞链接到全部落盘,总耗时约 18 分钟,占用 2.1GB,视频全部是源文件画质(1080p 以上),图文命名统一成"发布时间 作者昵称 作品标题",还按作者分了文件夹——这份整整齐齐的归档,以前靠手动保存想都不敢想。单篇图文的话,从粘贴链接到文件落地大约 3 到 6 秒,基本是秒级响应。
过程中也踩了几个坑,提前帮你排掉:
- 链接要趁新鲜用。作品链接里携带日期信息,放太久再去请求容易被风控,批量下载前重新提取一遍最稳。
- 重复下载被跳过不是 bug。程序默认开启下载记录,同一作品第二次会被自动跳过;真想强制重下,要么关闭
download_record,要么去Volume/ExploreID.db里清掉对应记录。 - 全局代理可能帮倒忙。开着全局代理时用户脚本下载文件容易失败,遇到先关掉代理试试。
- Linux 剪贴板要装东西。想在 Linux 上用"读取剪贴板"功能,得先装
xclip或xsel。 - 别把请求间隔调太激进。程序内置了延时机制来降低对服务器的压力,硬调快容易触发风控,默认值就好。
最后说两句
如果你和我一样,需要长期保存小红书内容做素材积累或学习笔记,我的建议路径是:先源码跑起来下载单篇感受一下画质 → 配置 Cookie 解锁高清 → 再上用户脚本做批量提取。这套"脚本捞链接 + 程序批量下载"的组合,覆盖了从单篇到整个账号、从图形界面到命令行 API 的全部场景,而且是完全免费的。
最后照例提醒一句:下载的内容请只用于个人学习与研究,尊重原创作者的劳动成果,别拿去商用或二次传播。工具只是给了你便利,怎么用,还得守住分寸。
【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考