XHS-Downloader:小红书内容下载,一个工具全搞定

刷小红书的时候,经常看到好看的图片、有用的教程视频,想保存下来却发现官方没有提供下载功能。截图吧,画质差;录屏吧,太麻烦。今天介绍一个开源项目 XHS-Downloader,专门解决这个问题。

正文顶部截图

这个项目目前 Star 数超过 11,000,在小红书相关的开源工具里算是头部了。它能干什么?简单说,给一个小红书作品链接,它能把图片、视频、LivePhoto 全部原画质下载下来,支持批量操作。

能做什么

XHS-Downloader 的功能覆盖面挺全的:

内容下载方面,支持图文作品、视频作品、LivePhoto 动图。图文作品可以自定义下载格式,支持 PNG、WEBP、JPEG、HEIC 几种选择。视频作品会根据 Cookie 状态自动选择画质,配置了 Cookie 能拿到更高分辨率的文件。

批量采集方面,能提取账号发布、收藏、点赞、专辑的作品链接,也能提取搜索结果里的作品和用户链接。配合浏览器用户脚本,可以自动滚动页面加载全部内容,然后批量下载。

去重机制,下载过的作品 ID 会记录到 SQLite 数据库里,重复下载时自动跳过。这个功能对需要定期采集内容的人来说很实用,不用担心重复下载浪费时间。

三种运行方式

项目提供了三种使用方式,覆盖不同需求:

第一种是程序运行。Mac OS 和 Windows 10 以上用户可以直接下载打包好的可执行文件,解压后双击就能用。项目自带 GitHub Actions 自动构建,随时可以基于最新源码打包。

第二种是源码运行。需要 Python 3.12 以上版本,用 pip 或 uv 安装依赖后直接运行。这种方式适合需要二次开发的用户,项目提供了详细的 API 接口和配置参数。

第三种是 Docker 运行。一条命令拉取镜像就能启动,支持 TUI 界面、API 接口和 MCP 协议三种模式。对服务器部署比较友好。

README区域截图

浏览器用户脚本

除了命令行工具,项目还提供了一个 Tampermonkey 用户脚本。安装后,在小红书网页版上会多出一些功能按钮,可以直接在浏览器里提取作品链接、下载文件。

脚本还支持和主程序联动。在配置文件里开启 script_server 参数,主程序在后台运行时会作为服务器接收脚本推送的下载任务。在浏览器里看到想保存的内容,点一下就能推送给后台程序处理,体验比较流畅。

API 和 MCP 接口

项目内置了 FastAPI 服务,启动 API 模式后访问 /docs 能看到自动生成的接口文档。主要接口是 /xhs/detail,POST 请求,传入作品链接就能获取详细信息或触发下载。

MCP 模式则适合接入 AI 助手。启动后提供 Streamable HTTP 端点,可以直接在 Claude、ChatGPT 等工具里调用小红书数据采集功能。这个方向挺有意思,把内容采集和 AI 分析串起来。

配置灵活

项目用 JSON 配置文件管理参数,首次运行自动生成。可配置的项很多:文件保存路径、命名格式、代理设置、下载格式偏好、是否按作者归档、是否修改文件时间为作品发布时间等等。

命名格式支持的字段包括收藏数量、评论数量、点赞数量、作品标题、作品描述、发布时间、作者昵称等,用空格分隔组合。对需要按特定规则整理文件的人来说,这个自由度够用。

几个细节

项目内置了请求延时机制,避免频率过高触发平台风控。支持文件断点续传,大文件下载中断后可以接着下。Cookie 不是必填项,但配置后能拿到更好的画质和更完整的数据。

下载记录功能默认开启,程序会把已下载的作品 ID 存到数据库里。想重新下载某个作品,需要先删掉数据库里的记录。这个设计避免了重复下载,但偶尔也会让人困惑"为什么文件没下载"。

适合谁用

如果你经常需要从小红书保存内容,不管是个人收藏还是做内容分析,这个工具都值得试试。对程序员来说,API 接口和二次开发的支持很完善。对普通用户来说,打包好的可执行文件或 Docker 镜像也能直接上手。

项目是 GPL v3 协议,代码完全开源,可以自由修改和部署。作者同时维护着抖音和快手的同类工具,如果有多平台需求可以一并关注。

PL v3 协议,代码完全开源,可以自由修改和部署。作者同时维护着抖音和快手的同类工具,如果有多平台需求可以一并关注。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐