XHS-Downloader 小红书无水印下载:粘贴链接到拿到文件的 3 分钟
【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader
XHS-Downloader 是一款小红书(RedNote)链接提取与作品采集工具,支持对作品链接做小红书无水印下载,把原图和原始视频文件保存到本地。当你想把刷到的一组参考素材备份下来时,只需要把作品链接粘进程序,它会自动把无水印原文件整理进指定文件夹,不用逐张截图,也不用手动去水印。
先看场景:谁在用、拿到什么
- 素材备份:在输入框粘贴 3 条作品链接,得到 3 个本地文件夹,里面是无水印原图,文件名默认带发布时间和作者昵称。
- 按作者归档:开启作者归档后粘贴一批链接,作品会按“作者ID_作者昵称”自动分文件夹存放,作者改名时旧文件名也会跟着更新。
- 只取数据不落文件:把作品链接发给 API,得到包含标题、点赞数、评论数、文件地址的结构化数据,方便接进自己的分析流程。
三种入口,先选适合你的
- 如果你不想碰终端,建议选图形界面:从项目 Releases 下载可执行包,解压后双击
main,会看到带链接输入框和任务队列的窗口。 - 如果你习惯批量脚本,建议选命令行模式:这条命令把
-u后的链接整体用引号包起来、空格分隔,运行后终端会滚动出下载进度:
python main.py -u "https://www.xiaohongshu.com/explore/xxx https://xhslink.com/xxx"- 如果你要它在服务器上常驻,建议用 Docker 部署,容器把文件目录映射到
/app/Volume,启动后服务监听 5556 端口:
docker run -p 5556:5556 -v xhs_volume:/app/Volume -it joeanamier/xhs-downloader第一次运行:从下载到看到文件
- 获取程序:从 Releases 下载可执行包解压即可;要改代码的话,
git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader得到源码,按 requirements.txt 装完依赖运行python main.py。 - 配置 Cookie(可选):不配也能用,但视频作品只能拿到低分辨率文件。在浏览器按 F12,网络面板勾选“保留日志”,过滤输入
cookie-name:web_session,点开任一请求把请求头里的 Cookie 复制出来,写入./Volume/settings.json的cookie字段:
- 粘贴链接并下载:程序识别 explore、discovery/item、用户主页、xhslink.com 短链这 4 种格式,多条链接用空格分隔后点击“下载作品文件”;也可以让程序后台监听剪贴板,复制链接就自动开始下载:
- 确认完成:下载结束后程序会提示结果,文件默认落在
Volume/Download,路径可配置。
⚙️ 让结果更可控:小红书无水印下载值得动的配置
配置文件./Volume/settings.json首次运行自动生成,下面是几个高频字段:
work_path:作品保存的根路径,推荐指定一个专门目录,如D:\XHS。folder_mode:设为 true 时每个作品独占一个文件夹,文件名与文件夹名一致,多图集作品更整洁。author_archive:设为 true 时每个作者的作品单独存放,适合长期收集。image_format:图片下载格式,可选 PNG、WEBP、JPEG、HEIC、AUTO,推荐 WEBP,体积约为 PNG 的一半。video_preference:视频文件选择偏好,可选 resolution、bitrate、size,推荐 resolution。download_record:默认开启,自动跳过已下载的作品,重复跑同一批链接不浪费流量。
用 name_format 自定义文件名
字段之间用空格分隔,下面这个值可以直接复制:
"name_format": "发布时间 作者昵称 作品标题"
支持字段还包括点赞数量、评论数量、作品标签、作品ID 等,想按时间排序或给作者起别名时看 README 里的完整字段表。
进阶:把它接进你的流程
想嵌入自己的系统,API 模式是最直接的入口。运行python main.py api启动服务,终端会输出一个鉴权令牌(长期有效,不要公开),所有接口都要在请求头带上Authorization: Bearer <令牌>,否则返回 403;启动后访问http://127.0.0.1:5556/docs可以看到交互式文档。核心接口是/xhs/detail(POST、JSON),下面这条最小调用表示“下载这个作品,且只取第 1、3、5 张图”:
import requests r = requests.post( "http://127.0.0.1:5556/xhs/detail", json={"url": "作品链接", "download": True, "index": [1, 3, 5]}, headers={"Authorization": "Bearer <令牌>"}, timeout=30, ) print(r.json())MCP 模式类似:运行python main.py mcp后,在 AI 客户端的 MCP 配置里填服务地址和令牌,就能用自然语言调用:
如果想在 Python 里直接当库调用做二次开发,参考 示例代码 和 应用层实现,参数含义都在注释里。
❓ 出问题时先看这里:小红书无水印下载的常见失败
- 视频明显模糊:没配 Cookie 时视频作品只返回低分辨率文件。重新获取一份最新 Cookie 写入 settings.json 即可,不需要登录账号。
- 部分作品取不到数据:作品链接自带日期信息,很久前复制的链接容易被风控。回网页重新复制一遍链接再下载。
- 第二次运行提示跳过:
download_record默认开启,会记住已下载的作品 ID。确实需要重下时,先到./Volume/ExploreID.db里删掉对应 ID。 - 下载速度偏慢:程序内置请求延时(avg_delay 默认 6 秒)用于规避风控,属于正常现象。要处理大量链接时,可在 settings.json 配置 proxy 并分批运行。
边界与合规
- 下载内容仅限个人学习研究,商用或二次传播需先获得权利人授权。
- 保持请求频率在合理范围,不要为追求速度去改小内置延时。
- Cookie 相当于账号的临时访问凭证,包含它的配置文件不要外发。
XHS-Downloader 解决的事情就一件:把小红书链接变成无水印原文件,并管好存哪、怎么命名、是否重下。想动手就从项目仓库的 Releases 拿一个版本跑起来;遇到问题,直接向项目提交 Issue。
【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考