小红书下载工具XHS-Downloader实用指南:批量提取作品链接、采集信息并下载高清图文视频
【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader
收藏夹里躺着几千条笔记,真到要用的时候却一条也导不出来——这是大多数小红书用户的共同体验。小红书下载工具XHS-Downloader正是为解决这类场景而生的开源项目:它能把账号发布、收藏、点赞、专辑里的作品链接成批提取出来,采集作品的点赞、评论、发布时间等信息,解析出真实下载地址,再把图文、视频、LivePhoto一并保存到本地。
上个月帮朋友整理一位美食博主的选题库,我对着网页一篇篇右键另存为,两小时才攒下十来篇,还漏掉了评论区里客户最看重的互动数据。如果你也经历过这种"看得见、拿不走"的憋屈,或者正在为批量整理素材发愁,这篇文章值得读完。我会按"这个工具能做什么 → 四种用法怎么选 → 怎么装怎么配 → 下载之外的细节 → 常见坑 → 开发者视角"的顺序,把它的家底一次讲清楚。
小红书下载工具能替你完成哪些事
先说能力边界,免得期待错位。XHS-Downloader并不是一个"万能扒手",它的本职有三块:
- 提取链接:给定某个账号,可以批量拉取其发布、收藏、点赞、专辑里的作品链接;在搜索场景下,还能提取搜索结果里的作品和用户链接。这一步解决的是"批量"问题——不用再手动逐条复制。
- 采集信息:对每个作品,抓取标题、作者、点赞数、评论数、发布时间等元数据。做竞品分析或数据整理时,这些字段比图片本身更值钱。
- 下载文件:解析出作品的真实下载地址,把图文(PNG、WEBP、JPEG、HEIC 等格式)、视频和 LivePhoto 动图存到本地,并按你的偏好选择清晰度策略。
它认识的小红书链接有三种常见形态,日常遇到的分享码也都能识别:
| 链接形态 | 示例 | 说明 |
|---|---|---|
| 探索页链接 | https://www.xiaohongshu.com/explore/作品ID | 最常用 |
| 短链分享码 | https://xhslink.com/分享码 | 手机端复制来的那种 |
| 发现页链接 | https://www.xiaohongshu.com/discovery/item/作品ID | 另一种站内路径 |
换句话说,你手里有什么样的链接,它基本都能接得住。
四种用法怎么选:图形界面、命令行、浏览器脚本与API
同一个工具,入口却有四条。选哪条,取决于你是"偶尔存几张"还是"天天批量搬"。
| 入口 | 适合谁 | 上手成本 | 典型场景 |
|---|---|---|---|
| 图形界面 | 零基础用户 | 最低 | 粘贴链接、点击下载 |
| 命令行 | 批量处理、脚本自动化 | 中等 | 多链接同时下载、指定图片序号 |
| 浏览器用户脚本 | 重度刷小红书的人 | 中低 | 边刷边把作品链接推给程序 |
| API / MCP | 开发者、AI 助手 | 较高 | 把下载能力接进自己的系统 |
下面逐一展开。
图形界面模式:粘贴链接,点一下下载
这是最没有门槛的用法。双击运行程序后,你会看到一个简洁的输入框,把链接粘贴进去(多个链接用空格分隔即可),点"下载作品文件"按钮就完事。界面还提供了"读取剪贴板"按钮,以及后台监听剪贴板的功能——开启监听后,复制链接的程序会自动接手,省掉一次手动粘贴。
几个值得留意的细节:已经下载过的作品会自动跳过,不会重复占用流量;界面下方有快捷键提示,S打开设置、R查看下载记录、M开启监听、Q退出;程序内置中英文两套界面,在设置里切换即可。对完全不想碰命令行的朋友来说,这条路已经够用了。
命令行模式:批量下载视频与图文的自动化选项
当你需要处理几十个链接,或者想把下载流程写进定时脚本时,图形界面就有点手忙脚乱了。命令行模式把同样的能力拆成了参数,一句命令跑完一批:
python main.py --url "小红书作品链接" --download true多个链接用空格分隔就能排队下载;--index可以只下载图文作品中的指定图片序号(比如只要第 1、3、5 张);--work_path指定数据与文件的保存根目录;--language切换程序语言。常用参数在程序里都有中文说明,--help一下就能看到全貌。
这套参数和图形界面背后是同一套逻辑,所以不用担心"命令行版功能更少"——它只是换了个更省事的入口。
浏览器用户脚本:边刷小红书边收集作品链接
如果你每天花大量时间泡在小红书网页版,第三种方式最顺手。装上 Tampermonkey 这类脚本管理器,从 URL 安装项目提供的用户脚本,然后在程序设置里开启脚本服务,之后打开小红书页面,右下角就会多出一个菜单。
菜单里直接列着"提取发布作品链接""提取点赞作品链接""提取收藏作品链接"等选项,点一下,对应分类的作品链接就被复制到剪贴板并推送给本地程序,程序随即开始下载。
这招最妙的地方在于:你想收集某个博主发布过的所有作品,不必先到处找链接,直接在对方主页点一下,剩下的交给程序排队处理即可。
API 与 MCP:把小红书作品采集能力接进自建系统
对开发者来说,程序内置了一个本地 HTTP 服务(默认端口 5556),可以用最普通的 POST 请求调起下载:
import requests def download_via_api(): server = "http://127.0.0.1:5556/xhs/detail" data = { "url": "小红书作品链接", "download": True, "index": [1, 3, 5], # 只下载指定序号的图片 } response = requests.post(server, json=data, timeout=10) return response.json()更时髦的是它支持 Model Context Protocol(MCP)。在支持 MCP 的客户端里新建一个工具,类型选"可流式传输的 HTTP",地址填http://127.0.0.1:5556/mcp/,保存后 AI 助手就能直接调用"获取小红书作品信息"和"下载小红书作品文件"两个能力,相当于给 AI 装上了小红书的内容触角。
安装与高清权限:三条路径,一个关键配置
装法三选一
- 直接下载可执行文件:从项目发布页拿到对应系统的压缩包,解压后双击
main即可,适合不想装 Python 环境的用户。 - 源码运行:克隆仓库后用 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想要高清视频?先配好 Cookie
不带 Cookie 直接下载,视频大概率只能拿到低清版本。原因很简单:小红书需要登录态才能返回高码率源,而 Cookie 就是那张"门票"。获取它不复杂:
打开浏览器访问小红书探索页,按F12打开开发者工具,切到"网络"选项卡,在请求列表里过滤出web_session相关请求,展开请求头就能看到一长串 Cookie。把这串内容完整复制,粘贴到./Volume/settings.json配置文件里即可。
配置完 Cookie,再配合设置里的"视频文件偏好"选项(分辨率优先、码率优先、文件大小优先),基本就能按自己的需求拿到对应质量的视频了。
下载之后的事:去重、命名与归档
文件一旦多起来,真正的麻烦才刚开始:同一篇笔记下载两遍、几百个文件名长得像乱码、想按作者找文件翻半天。程序在"下载之后"这三个环节做了设计,恰好对症:
- 去重:程序会记录已下载的作品 ID,再次遇到时直接跳过。如果你想强制重下,清理掉下载记录即可;文件完整性也有校验,不会出现"下了个残缺文件"的尴尬。
- 命名:默认格式是"发布时间 作者昵称 作品标题",一眼能看出内容是什么。当然可以自定义组合,把作品 ID、作品类型、点赞数等字段任意拼进文件名。
- 归档:开启作者归档后,文件会按作者 ID 分文件夹存放;博主改昵称了,程序还能通过别名映射自动更新,不至于目录名和现实对不上号。
这些功能在设置文件里分别对应name_format、author_archive、download_record等开关,图形界面里也能改。它们的共同思路是:让下载这件事"一次做好",而不是把整理工作留给你事后手工补。
几个高频场景与对应解法
场景一:视频画质不满意。大概率是没配 Cookie,按上文步骤配好再试;如果仍然偏低,检查设置里的视频文件偏好是否被改成了"文件大小优先"。
场景二:想把某个作者的全部作品搬下来。用浏览器用户脚本在作者主页点"提取发布作品链接",拿到链接后交给程序批量处理,比手动翻页复制高效得多。
场景三:找不到下载的文件在哪。默认保存到./Volume/Download/目录,也可以在设置里改folder_name或通过--work_path指定其他根路径。
场景四:网络环境不稳定。settings.json里暴露了timeout(请求超时时间)、max_retry(最大重试次数)、chunk(分块下载大小)和proxy(代理地址)几个参数,按自己的网络情况调一调即可,不必改代码。
给开发者的三分钟上手
如果你打算基于它做二次开发,核心入口是一个异步上下文管理器,最小示例长这样:
from source import XHS async def custom_download(): async with XHS( work_path="./my_downloads", # 数据与文件保存根路径 folder_name="小红书内容", # 下载文件夹名 name_format="发布时间 作者昵称 作品标题", image_format="WEBP", # 图文输出格式 download_record=True, # 记录下载历史 author_archive=True, # 按作者归档 ) as xhs: links = ["链接1", "链接2", "链接3"] for link in links: result = await xhs.extract(link, download=True) print(result.get("title"))代码结构上,source/application/是应用层(请求、下载、图片视频处理),source/module/是核心逻辑(设置、数据模型、下载记录),source/CLI/和source/TUI/分别对应命令行与终端界面,source/translation/负责多语言。想深入某一块,顺着这几个目录找对应的模块文件即可。
写在最后:用工具的同时守住边界
XHS-Downloader 覆盖的场景足够广:个人收藏整理、选题素材收集、竞品内容观察,乃至团队共享素材库,都能找到对应的用法。但有一件事必须提醒:它面向的是个人学习、研究或已获授权的使用,请控制请求频率,尊重原作者版权,遵守平台规则与当地法律——工具越强大,越需要使用者自己把握分寸。
第一次使用的话,不必把全部功能研究透彻,先跑通"粘贴链接 → 点击下载"这条最小链路,等真正遇到批量、高清、自动化这类需求时,再回头对照本文的对应章节。仓库里的 README 对每个参数和配置项都有说明,example.py里还躺着一份可以直接跑的最小示例;遇到说不清的问题,去 Issues 里搜一搜,多半已经有人问过了。收藏夹里的笔记,是时候变成硬盘里随时能用的素材了。
【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考