5 分钟跑通 XHS-Downloader:小红书批量下载工具完整实操指南 📅 发布时间:2026/8/21 17:40:39 👁 浏览次数: 5 分钟跑通 XHS-Downloader小红书批量下载工具完整实操指南【免费下载链接】XHS-Downloader小红书XiaoHongShu、RedNote链接提取/作品采集工具提取账号发布、收藏、点赞、专辑作品链接提取搜索结果作品、用户链接采集小红书作品信息提取小红书作品下载地址下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-DownloaderXHS-Downloader 是一款免费开源的小红书作品批量下载工具支持小红书图文、视频、LivePhoto 的高清下载与作品链接提取内置 GUI 界面、命令行和 API 三种调用方式。本文面向刚搜到这个项目、想在 5 分钟内把小红书下载工具跑起来的普通用户与轻度开发者只给命令、路径和配置项。 能力全景程序主程序与浏览器用户脚本分工如下一张矩阵交代清楚工具能做什么维度能力点一句话说明下载对象图文作品支持AUTO、PNG、WEBP、JPEG、HEIC五种格式下载对象视频作品配置 Cookie 后可获取高清视频下载对象LivePhoto 动图由live_download参数单独控制获取方式GUI 主程序粘贴链接即可下载支持剪贴板监听获取方式命令行 CLI--url参数传入多个作品链接获取方式用户脚本提取推荐页、账号、搜索结果作品链接获取方式API / MCPpython main.py api启动服务器附加能力自动去重记录已下载作品 ID重复运行直接跳过附加能力文件命名自定义name_format自由组合作品与作者字段附加能力作者归档按作者ID_作者昵称建文件夹并自动更新昵称附加能力断点续传大文件下载中断后可继续附加能力作品信息采集点赞、评论、发布时间等写入 SQLite 或文本文件下图为程序主界面多行输入框可一次粘贴多条链接下方提供下载、读取剪贴板、清空三个按钮底部快捷键支持M开启监听。 选路指南按场景挑模式三种入口覆盖个人到团队的典型用法按下表选择你的路径场景路径判断标准随手存GUI 图形界面一次只存几条不想记命令批量搬CLI 命令行多条链接、需要参数化控制边刷边存浏览器用户脚本刷页时随手收集链接与文件随手存 → GUI 图形界面适用人群偶尔保存几条作品的普通用户。运行main程序粘贴作品链接后点击「下载作品文件」多条链接用空格分隔按M开启监听模式此后复制小红书链接即可自动触发下载按S进入程序设置调整下载开关与格式点「保存配置」生效。✅ 剪贴板后台监听复制即下载✅ 自动跳过已下载作品避免重复✅ 界面支持zh_CN/en_US中英文切换批量搬 → CLI 命令行适用人群一次处理大量链接、或要写脚本调用的用户。执行python main.py --help查看所有参数及缩写执行python main.py --url 链接1 链接2 链接3 --name_format 发布时间 作者昵称 作品标题批量下载注意设置--index时仅处理首个链接执行python main.py --url 链接 --index 1 3 5只下载图文作品中第 1、3、5 张图。✅ 多链接空格分隔自动提取有效链接✅--index指定图片序号--work_path指定保存目录✅ 布尔参数支持true、1、yes、on等写法边刷边存 → 浏览器用户脚本适用人群习惯在浏览器里浏览小红书、随手收集内容的用户。在 Tampermonkey 中导入仓库static/XHS-Downloader.js文件把主程序配置文件./Volume/settings.json中script_server参数设为true保持程序后台运行访问作品页面后点击脚本菜单「推送下载任务」由主程序完成文件下载。✅ 提取推荐页、账号发布 / 收藏 / 点赞 / 专辑作品链接✅ 提取搜索结果作品与用户链接支持小红书作品链接提取✅ 与主程序联动一键推送下载任务 环境搭建按难度从低到高三种部署方案任选其一即可。★☆☆ 方案一可执行文件从仓库 Releases 页下载最新压缩包解压到任意目录Windows 用户双击main直接运行macOS 首次先在终端执行xattr -cr 项目文件夹路径移除安全标记文件默认保存在.\_internal\Volume\Download配置文件位于.\_internal\Volume\settings.json。# 无额外命令解压后双击 main 即可 # macOS 首次运行前执行一次 xattr -cr XHS-Downloader★★☆ 方案二源码运行git uv安装 Python 3.12 及以上版本与uv工具克隆仓库并同步依赖启动程序首次运行会在./Volume/settings.json自动生成配置文件。git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader cd XHS-Downloader uv sync --no-dev uv run main.py★★★ 方案三Docker 一键部署拉取官方镜像创建容器并映射 5556 端口与数据卷容器内以python main.py api或python main.py mcp结尾即可切换 API / MCP 模式注意 Docker 方式不支持读取与监听剪贴板。docker pull joeanamier/xhs-downloader docker run --name xhs -p 5556:5556 -v xhs_downloader_volume:/app/Volume -it joeanamier/xhs-downloader高清视频的前置条件Cookie 配置未配置 Cookie 时视频只能拿到低分辨率版本完整配置流程如下浏览器访问https://www.xiaohongshu.com/explore登录账号可跳过按F12打开开发者工具切到「网络」选项卡并勾选「保留日志」在过滤框输入cookie-name:web_session选择Fetch/XHR筛选器点击页面任意作品选中一个数据包在「标头」中全选复制 Cookie粘贴进./Volume/settings.json的cookie字段保存后重启程序。⭐ 值得深挖的 4 个能力只展开日常最省事的四个配置项均在./Volume/settings.json中修改。智能去重重复链接不再重复下载典型场景每周把竞品账号新作品链接批量喂给程序历史内容自动跳过。关键配置{ download_record: true }实际效果已下载作品 ID 写入./Volume/ExploreID.db关闭该开关后改为检查本地文件是否存在存在即跳过。文件命名自定义素材库按规则自动排好典型场景素材需要按「点赞量 发布时间」排序管理。关键配置字段间空格分隔支持 收藏数量、评论数量、点赞数量、作品ID、作品标题、发布时间、作者昵称、作者ID 等字段{ name_format: 点赞数量 发布时间 作品标题 }实际效果文件名按上述顺序拼接默认值为发布时间 作者昵称 作品标题重跑命名规则即可保持全库统一。作者归档按人分文件夹并自动改名典型场景长期收集多位博主的内容希望目录结构按作者划分。关键配置{ author_archive: true, mapping_data: { 作者ID: 自定义别名 } }实际效果作品按作者ID_作者昵称分文件夹存放博主改名后程序自动更新已下载文件名中的昵称部分别名会替代昵称生效。视频质量偏好画质、码率、体积三选一典型场景本地硬盘空间紧张或只在乎清晰度不在乎体积。关键配置{ video_preference: bitrate }实际效果可选resolution分辨率优先默认、bitrate码率优先、size文件大小优先注意前提是已按上文完成 Cookie 配置否则拿到的都是低清版本。 真实场景实操三个可直接照抄的场景从个人素材库到 API 集成。场景一个人灵感素材库一句话把一批收藏笔记按作者归档到指定目录方便后续翻阅。用命令行指定保存根目录与命名格式python main.py --work_path D:\XHS --name_format 发布时间 作者昵称 作品标题追加--folder_name 灵感库指定作品文件夹名称追加--image_format WEBP统一图片格式追加--author_archive true按作者归档追加--write_mtime true把文件修改时间改写为作品发布时间。预期结果D:\XHS\灵感库下按作者ID_作者昵称分文件夹存放全部作品文件时间即发布时间。场景二竞品内容定期监控一句话每周采集竞品账号新发布的作品只处理增量。用户脚本进入竞品账号主页提取「账号发布」作品链接粘贴到命令行一次性采集保持download_record为true重复作品自动跳过追加--note_format md每个作品的点赞、评论等指标以 Markdown 落盘。预期结果每周执行同一条命令即可只有新作品会触发下载与记录。场景三开发者 API 集成一句话把下载能力嵌进自己的爬虫或自动化流程。执行python main.py api启动服务自动生成交互式文档向POST /xhs/detail发送 JSON 请求url为必需参数设置skip: true可跳过已有下载记录的作品。from httpx import post server http://127.0.0.1:5556/xhs/detail data { url: https://www.xiaohongshu.com/explore/作品ID?xsec_tokenXXX, download: True, index: [1, 3], skip: True, } print(post(server, jsondata, timeout10).json())预期结果返回作品详细信息与下载地址download为true时文件同步落盘。 踩坑速查高频问题的最短答案按 Q 直接对号入座Q视频画质偏低A未配置 Cookie 时只能下载低分辨率视频。按上文 Cookie 配置流程写入web_session即可解锁高清版本。Q文件保存在哪里A源码与 Docker 方式默认在./Volume/Download可执行文件方式在.\_internal\Volume\Download。用--work_path或work_path参数修改根路径。Q支持哪些链接格式A支持xiaohongshu.com/explore/作品ID、discovery/item/作品ID、user/profile/作者ID/作品ID与xhslink.com/分享码。多条链接用空格分隔即可程序自动提取有效链接。QCookie 过期怎么办A重新走一遍获取流程更新./Volume/settings.json中cookie字段。作品链接携带日期信息旧链接可能触发风控建议每次用最新获取的链接。网络层面的常用参数写在settings.jsontimeout请求超时默认 10 秒、chunk分块大小默认 2097152 字节、max_retry失败重试次数默认 5 次、proxy代理地址。安全使用约定遵守小红书平台规则内置的请求延时机制不要绕过仅下载个人使用或已获授权的内容尊重原创作者版权不二次传播遵守当地法律法规控制采集频率。 给开发者的入口核心目录结构一眼可见main.py # 程序入口默认 TUI 模式 source/application/ # 下载与请求逻辑 source/module/ # 配置、模型、下载记录 source/CLI/ # 命令行参数 source/TUI/ # 终端界面二次开发最小示例from source import XHS async with XHS( work_path./my_downloads, name_format作品标题 作品描述, image_formatWEBP, author_archiveTrue, download_recordTrue, ) as xhs: info await xhs.extract(作品链接, downloadTrue, index[1, 2, 5]) print(info.get(title))MCP 集成执行python main.py mcp后把http://127.0.0.1:5556/mcp/填进 AI 助手的 MCP 配置即可直接对话取数。XHS-Downloader 定位是一个开箱即用的小红书作品批量下载与采集工具核心优势集中在三处GUI、命令行、API 三种入口随取随用去重与作者归档让素材库自动保持整洁配置项全部集中在这份settings.json里。下面这段命令足以跑通全流程git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader cd XHS-Downloader uv sync --no-dev uv run main.py更多参数与构建教程见仓库根目录的 README.md 与 README_EN.md用户脚本源文件在static/XHS-Downloader.js。【免费下载链接】XHS-Downloader小红书XiaoHongShu、RedNote链接提取/作品采集工具提取账号发布、收藏、点赞、专辑作品链接提取搜索结果作品、用户链接采集小红书作品信息提取小红书作品下载地址下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考