XHS-Downloader 实测:小红书无水印批量下载图文和视频,40 分钟压到 4 分钟
【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader
过去我存小红书素材,20 篇图文加 5 条视频要折腾 40 分钟:长按保存全是水印,视频只能录屏,画质又糊又卡,图片还得一张张点。直到用上开源工具XHS-Downloader,小红书无水印批量下载变成"粘贴链接、一键完成",4 分钟全部落地,视频还是 1080P 源文件。这篇文章是我完整跑通全流程的复盘,每一步你都能照着做。
01 先给正反馈:粘贴链接,30 秒拿下第一个作品
不装环境直接跑:去项目 Releases 下载程序压缩包,解压后双击main就能看到界面(macOS 首次运行先在终端执行xattr -cr 项目文件夹路径解除安全限制)。想从源码跑也就三步:
git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader cd XHS-Downloader uv sync --no-dev && uv run main.py(需要 Python 3.12 及以上,用 uv 比 pip 快不少。)
启动后你会看到一个输入框,提示"请输入小红书图文/视频作品链接"。把作品链接粘进去,点绿色的"下载无水印作品文件",几秒钟后文件就出现在Volume/Download目录里:
几个立刻能感受到的细节:
- 支持一次粘多个链接,用空格分隔,程序会自动提取有效链接;
- 文件名不再是乱码,默认格式是
发布时间 作者昵称 作品标题,归档时一眼认出是谁的哪篇作品; - 下载过的作品会被记录,第二次重复下载自动跳过,不会堆一堆重复文件。
02 原理就一句话:绕过前端渲染,直取服务器原文件
为什么它比"长按保存"清晰?打个比方:你从官网"另存为"图片,和对着屏幕用手机拍屏幕,得到的是两个东西。小红书网页端展示的内容经过加水印和压缩,而 XHS-Downloader 干的事是向服务器要原始文件——程序通过解析作品链接,拿到媒体资源的真实下载地址,再异步下载。工作流只有三步:解析链接 → 拿到原始直链 → 下载文件,全程不经过页面端处理,所以画质 100% 保留、没有水印。
它还在几个细节上给了自由度:
- 视频偏好
video_preference:可设resolution(分辨率优先)、bitrate(码率优先)或size(体积优先); - 图文格式
image_format:支持AUTO / PNG / WEBP / JPEG / HEIC,要省空间选 WEBP,要做后期选 PNG; - 动图
live_download开启后可下载 livePhoto 文件,这个很多同类工具都没有。
03 30 秒配一个 Cookie,解锁 1080P 高清视频
注意一个前提:不配 Cookie 时,视频只能拿到低分辨率版本。我第一次下载的视频只有 720p 上下,还以为是工具的问题,后来才知道差在 Cookie。配置方法 30 秒搞定,而且不需要登录账号:
- 浏览器开无痕模式,访问小红书 explore 页;
- 按
F12打开开发者工具,切到"网络"选项卡; - 勾选"保留日志",在过滤框输入
cookie-name:web_session; - 点击页面任意作品,在请求列表里点开任意数据包;
- 全选复制 Cookie 字段的内容,粘贴进程序的 Cookie 设置,保存。
填完再下视频,直接变 1080P+ 源文件。这一步强烈建议做,是性价比最高的一次配置。
04 批量场景:浏览器脚本把链接"捞"出来,一键推给程序
只下一两个作品,复制链接粘贴就够了。真正拉开差距的是批量——比如想把某个博主的发布、收藏、点赞作品全存下来,一个个复制链接不现实。这时用配套的浏览器用户脚本(配合 Tampermonkey 使用),在小红书网页端一键提取:
- 推荐页作品链接;
- 账号发布、收藏、点赞、专辑里的作品链接;
- 搜索结果里的作品链接和用户链接。
脚本装好后,从 Tampermonkey 的"从 URL 安装"导入即可:
提取时还能自动滚动页面,把作品全部加载完再抓取,默认滚动 50 次,次数可在脚本设置里改。抓完链接直接复制回程序粘贴,空格分隔就能批量下载;如果你只要某几篇的某几张图,脚本也能弹窗让你勾选:
更进阶的联动玩法:在配置里把script_server设为true,让程序在后台当服务器(TUI、API、MCP 模式都支持),浏览器里点一下用户脚本菜单的"推送下载任务",任务就直接甩给程序处理,全程不用复制粘贴。
05 命令行更精准:只要第 3、5、7 张图?
批量用界面顺手,但遇到"只要某篇笔记的第 3、5、7 张图"这种需求,命令行更精准。两个最常用的参数:
# 下载指定序号的图片(仅对图文作品生效) python main.py -u "作品链接" --index "3 5 7" # 指定图文输出格式为 webp python main.py -u "作品链接" --image_format webp # 一次下载多个作品,链接用空格分隔、整体加引号 python main.py -u "链接1 链接2 链接3"运行python -m source.CLI.main --help能列出全部参数,包括--folder_mode(每篇作品单独建文件夹)、--author_archive(按作者分文件夹,文件夹名是作者ID_作者昵称)、--name_format(自定义命名规则):
如果你有二次开发需求,程序还提供两个入口:运行python main.py api后访问http://127.0.0.1:5556/docs能看到自动生成的接口文档,支持 POST/xhs/detail传url、download、index参数;运行python main.py mcp后,在支持 MCP 的客户端里配置 URLhttp://127.0.0.1:5556/mcp/,就能用自然语言直接让它"获取某作品的数据"或"下载某作品"。
06 手动 vs 工具:用数字说话
我拿 20 篇图文 + 5 条视频做了一轮对比,结果非常直观:
| 指标 | 手动保存(截图+录屏) | XHS-Downloader |
|---|---|---|
| 20 篇图文总耗时 | 约 40 分钟 | 4 分钟 |
| 视频清晰度 | 720p 上下,带水印 | 1080P+ 源文件 |
| 文件名 | 随机乱码 | 发布时间 作者昵称 作品标题 |
| 重复内容 | 容易存重 | 自动跳过已下载 |
| 操作量 | 一张张手动保存 | 粘贴链接,一键批量 |
省下的不只是时间,还有文件质量:工具下载的是不经过二次压缩的原始文件,放大做素材完全没有噪点问题。
07 避坑锦囊:5 个坑和对应解法
- 链接要用新鲜的:作品链接里带日期信息,放太久会被平台风控,批量下载前重新用脚本提取一遍最稳。
- 重复下载被跳过是"正常"的:程序默认开启下载记录(存在
Volume/ExploreID.db),同一作品第二次会自动跳过;想强制重下,删掉数据库里对应 ID,或关闭download_record参数。 - 全局代理可能拖后腿:开全局代理时用户脚本下载文件可能失败,遇到先关掉代理再试。
- Linux 剪贴板不工作:需要装
xclip或xsel,否则"读取剪贴板"功能无效,sudo apt-get install xclip可解。 - 别高频猛拉:程序内置请求延时机制,硬要改快容易触发风控,保持默认值就好。
08 写给谁 + 下一步
如果你是经常保存小红书内容做学习笔记、素材积累的人,XHS-Downloader 这套"用户脚本捞链接 + 程序批量下载"的组合,是目前我用下来最顺手的方案:无水印原画质、批量提取、格式转换、按作者归档全都有,命令行、API、MCP 三种入口也照顾到了不同人群。
现在就去动手:
git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader cd XHS-Downloader uv sync --no-dev uv run main.py最后提醒一句:下载的内容请只用于个人学习与研究,尊重原创作者的版权,不要商用或二次传播。工具给的是便利,怎么用还得守住底线。
【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考