ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

XHS-Downloader 小红书批量下载指南

XHS-Downloader 小红书批量下载指南

XHS-Downloader 小红书批量下载指南

【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader

做竞品分析时,我常需要把某个账号最近发布的图文和视频完整搬到本地,手动逐个保存既慢又容易漏。XHS-Downloader 是一款开源的小红书批量下载工具:把作品链接交给它,就能解析下载地址、采集作品信息并保存文件,图形界面、命令行、浏览器脚本到 API 都有对应入口。

📌 项目概览:能采集与下载哪些内容

XHS-Downloader 的定位是小红书(RedNote)作品采集与下载工具:输入作品链接即可完成数据请求、文件下载与本地归档,配套的浏览器用户脚本还能在网页端直接提取批量作品链接。

  • 作品类型:图文、视频、LivePhoto 动图,图片文件支持 PNG、WEBP、JPEG、HEIC
  • 信息字段:点赞、评论、收藏、分享数量、发布时间、作者昵称等,可另存为 txt/md 笔记或写入 SQLite
  • 文件管理:记录已下载作品 ID 自动去重、断点续传、自定义命名格式、按作者归档
  • 调用方式:GUI、TUI 终端界面、命令行、HTTP API、MCP、浏览器用户脚本

📦 安装部署:三种方式跑起来

直接运行可执行文件

Windows 10 及以上与 macOS 用户可下载最新发布的压缩包,解压后双击main即可。默认下载目录是./Volume/Download,配置文件为./Volume/settings.json;macOS 首次运行需在终端执行xattr -cr 项目文件夹路径移除安全标记。

源码运行(git clone + uv)

要求 Python 3.12 及以上,推荐用 uv 管理依赖:

git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader cd XHS-Downloader uv sync --no-dev uv run main.py

Docker 一键部署

docker pull joeanamier/xhs-downloader docker run -p 5556:5556 -v xhs_downloader_volume:/app/Volume -it joeanamier/xhs-downloader

镜像名后可追加python main.py api或python main.py mcp启动 API 或 MCP 模式;下载数据放在挂载卷里,重建容器不会丢失。Docker 环境不支持命令行调用与剪贴板监听。

⌨️ 使用方式:三种入口按场景挑

图形界面:适合低频下载的个人用户

把作品链接粘贴到输入框即可下载,程序还能后台监听剪贴板,复制链接的动作本身就能触发下载;已下载过的作品自动跳过,避免重复占空间。

命令行:适合批量与自动化脚本

完整参数用python main.py --help查看(实现位于 source/CLI/),基础用法:

python main.py --url "https://www.xiaohongshu.com/explore/作品ID"

常用参数:

  • --index:只下载图文作品中指定序号的图片,如"1 3 5";设置后仅处理首个链接
  • --name_format:文件命名字段,如发布时间 作者昵称 作品标题
  • --author_archive:按作者分文件夹归档,作者改名时自动同步文件名
  • --image_format:图片输出格式,可选 PNG / WEBP / JPEG / HEIC / AUTO

多个链接放在同一引号内、以空格分隔即可一次传入。

浏览器脚本:适合边浏览边收集

给浏览器装上 Tampermonkey 扩展并添加用户脚本后,就能在小红书网页端提取推荐页、搜索结果、账号发布/收藏/点赞/专辑的作品链接,或把当前作品打包下载;把程序配置的script_server设为true,脚本还可以把下载任务推送给本地程序执行。

🔑 关键配置:获取高清视频的 Cookie 配置

未设置 Cookie 时,视频作品只能取到低分辨率文件,配置后就能下载高清版本(无需登录账号):

  1. 浏览器访问https://www.xiaohongshu.com/explore,建议用无痕模式
  2. 按 F12 打开开发者工具,切到「网络」选项卡
  3. 过滤框输入cookie-name:web_session,点击页面中任意作品
  4. 选中产生的请求包,复制请求头中的完整 Cookie
  5. 粘贴进配置文件的cookie字段,重启程序生效

配置文件位于./Volume/settings.json,首次运行自动生成,修改后需重启程序。

🧩 进阶玩法:MCP 接入 AI 与二次开发

MCP 与 AI 助手集成

源码运行先装 MCP 依赖:uv sync --no-dev --extra mcp,再执行python main.py mcp启动服务。把下面配置写进 AI 助手的 MCP 服务列表,对话中即可查询作品信息或触发下载(令牌为启动时输出的鉴权令牌):

{ "mcpServers": { "XHS-Downloader": { "url": "http://127.0.0.1:5556/mcp", "headers": { "Authorization": "Bearer <鉴权令牌>" } } } }

Python 二次开发

下载核心逻辑在 source/application/,接口用法以example.py为准,最小示例:

from source.application import XHS async with XHS(work_path="./my_downloads", name_format="发布时间 作者昵称 作品标题") as xhs: for link in links: info = await xhs.extract(link, download=True, index=[1, 3, 5])

两个落地场景

  • 内容创作者:把对标账号的参考作品按「作者 + 主题」归档进本地素材库,配合note_format导出每篇作品的笔记文件,方便随时翻阅。
  • 运营团队:用用户脚本从竞品主页批量提取链接,再走 API 下载,基于点赞、发布时间等字段产出周期性的竞品数据报告。

❓ 常见问题与合规提醒

Q:下载的视频为什么画质不高?视频清晰度依赖 Cookie。未配置时只能拿到低分辨率文件,按上一节的 5 步把 Cookie 写入settings.json即可解决。

Q:想批量下载某个作者的所有作品怎么办?用浏览器用户脚本提取「账号发布作品链接」,脚本会自动滚动加载更多内容,把结果粘贴到命令行--url参数中一次处理。

Q:下载的文件存放在哪里?默认在./Volume/Download/,可用work_path、folder_name修改位置与目录名;下载记录存于./Volume/ExploreID.db,作品数据存于./Volume/ExploreData.db。

Q:支持哪些链接格式?explore/作品ID、discovery/item/作品ID、user/profile/作者ID/作品ID三类作品页与xhslink.com分享短链均可识别,多链接用空格分隔,程序会自动过滤无效项。

合规提醒:程序内置请求间隔(默认 6 秒)以控制频率,不建议调低;仅下载个人学习使用或已获授权的内容,尊重原创作者的版权与平台规则。

从链接提取到文件归档,这条链路 XHS-Downloader 都封装成了可选的入口:低频使用走图形界面,批量任务走命令行或 API,有 AI 工作流就接 MCP。作品链接自带日期信息,时效过期可能触发风控,遇到异常时优先检查 Cookie 与链接的新旧。

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),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进