XHS-Downloader:小红书内容采集的3种高效方法与完整配置指南
XHS-Downloader:小红书内容采集的3种高效方法与完整配置指南
【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader
作为小红书内容创作者、数据分析师或普通用户,你是否经常遇到这些问题:看到喜欢的笔记无法批量保存,需要手动逐一下载;想要备份自己的作品却找不到高效工具;或者需要收集特定主题的内容进行市场分析?XHS-Downloader 正是为解决这些痛点而生的开源工具,它提供了图形界面、命令行和浏览器脚本三种使用方式,让小红书内容采集变得简单高效。
快速开始:三步部署XHS-Downloader
无论你是技术新手还是经验丰富的开发者,XHS-Downloader 都能在几分钟内完成部署。以下是三种主流安装方式的对比:
| 部署方式 | 适合人群 | 复杂度 | 功能完整性 | 推荐场景 |
|---|---|---|---|---|
| 图形界面运行 | 普通用户、内容创作者 | ⭐☆☆☆☆ | 完整功能 | 个人使用、快速下载 |
| 源码运行 | 开发者、技术爱好者 | ⭐⭐⭐☆☆ | 完整功能+二次开发 | 自定义功能、集成开发 |
| Docker运行 | 运维人员、服务器部署 | ⭐⭐☆☆☆ | 完整功能(部分限制) | 服务器环境、持续运行 |
图形界面运行(推荐新手)
对于大多数用户,这是最简单快捷的方式:
- 下载程序包:从项目仓库下载最新版本的可执行文件包
- 解压运行:解压后直接双击运行
main可执行文件 - 开始使用:打开程序界面,粘贴小红书链接即可下载
XHS-Downloader图形界面提供了直观的操作体验,包含链接输入、一键下载、剪贴板监听等核心功能
源码运行(适合开发者)
如果你需要定制化功能或进行二次开发:
# 克隆项目 git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader # 进入项目目录 cd XHS-Downloader # 使用uv安装依赖(推荐) uv sync --no-dev # 启动程序 uv run main.pyDocker运行(适合服务器环境)
对于需要在服务器环境持续运行的用户:
# 拉取镜像 docker pull joeanamier/xhs-downloader # 运行容器(TUI模式) docker run -p 5556:5556 -v xhs_downloader_volume:/app/Volume -it joeanamier/xhs-downloader核心功能详解:从基础到高级
基础功能:一键下载小红书作品
XHS-Downloader 的核心功能是提取和下载小红书作品。支持以下链接格式:
https://www.xiaohongshu.com/explore/作品ID?xsec_token=XXXhttps://www.xiaohongshu.com/discovery/item/作品ID?xsec_token=XXXhttps://www.xiaohongshu.com/user/profile/作者ID/作品ID?xsec_token=XXXhttps://xhslink.com/分享码
智能特性:
- 支持单次输入多个作品链接,链接之间使用空格分隔
- 自动提取有效链接,无需额外处理
- 自动跳过已下载的作品文件,避免重复下载
- 支持图文作品、视频作品、LivePhoto文件下载
图形界面操作详解
图形界面提供了最直观的操作方式,适合大多数用户:
- 链接输入:在输入框中粘贴小红书作品链接,支持批量处理
- 一键下载:点击"下载作品文件"按钮开始下载
- 剪贴板监听:开启后自动监测剪贴板中的链接
- 程序设置:自定义下载路径、文件格式等参数
快捷键操作:
Q:退出程序U:检查更新S:程序设置R:下载记录M:开启监听A:关于项目
命令行模式:精准控制的高级用法
对于需要批量处理或自动化操作的用户,命令行模式提供了更精细的控制:
# 基本下载命令 python main.py --url "小红书链接" # 指定下载部分图片 python main.py --url "链接" --index "1 3 5" # 设置自定义保存路径 python main.py --url "链接" --work_path "./我的收藏" --author_archive true # 配置高清视频下载 python main.py --url "链接" --cookie "你的Cookie值"命令行模式提供了完整的参数控制,支持自定义下载路径、文件命名格式、代理设置等高级功能
核心参数说明:
--url:小红书作品链接(必需参数)--index:指定下载图片序号(仅对图文作品有效)--work_path:文件保存根路径--author_archive:按作者分类保存--name_format:自定义文件名格式--cookie:小红书网页版Cookie(获取高清视频必需)
高级配置与优化技巧
Cookie配置:解锁高清视频下载
虽然不配置Cookie也能使用基本功能,但配置后可以获得高清视频下载权限和更稳定的体验。Cookie获取步骤:
- 打开小红书网页版并登录账号
- 按F12打开开发者工具
- 切换到"网络"标签
- 勾选"保留日志"
- 刷新页面或点击任意作品
- 找到包含
web_session的Cookie字段并复制
通过开发者工具获取Cookie,这是获取高清视频下载权限的关键步骤
配置文件详解
XHS-Downloader的配置文件位于./Volume/settings.json,支持丰富的自定义选项:
{ "work_path": "./Volume", "folder_name": "Download", "name_format": "发布时间 作者昵称 作品标题", "cookie": "", "image_format": "JPEG", "folder_mode": false, "download_record": true, "author_archive": false, "write_mtime": false, "script_server": false }关键配置项说明:
image_format:图片下载格式(AUTO、PNG、WEBP、JPEG、HEIC)folder_mode:是否为每个作品创建独立文件夹author_archive:是否按作者分类保存download_record:是否记录已下载作品ID(避免重复下载)script_server:是否开启用户脚本服务器
性能优化建议
网络优化:
- 设置合适的
timeout和max_retry参数 - 根据网络状况调整
chunk大小 - 配置代理服务器提升稳定性
- 设置合适的
存储优化:
- 启用
download_record避免重复下载 - 设置
author_archive按作者分类管理 - 使用
folder_mode保持文件组织清晰
- 启用
格式选择:
- 图文作品支持多种格式:PNG、WEBP、JPEG、HEIC
- 视频作品支持分辨率、码率、文件大小优先级选择
浏览器脚本集成:无缝网页操作体验
结合Tampermonkey浏览器扩展,XHS-Downloader可以在浏览小红书网页时直接使用:
安装Tampermonkey扩展后,通过脚本链接安装XHS-Downloader用户脚本
脚本功能亮点
一键提取链接:
- 提取当前账号发布的作品链接
- 提取账号收藏的作品链接
- 提取账号点赞的作品链接
- 提取账号专辑作品链接
批量处理能力:
- 自动滚动页面加载更多内容
- 支持批量提取搜索结果作品链接
- 支持批量提取搜索结果用户链接
与主程序联动:
- 一键推送下载任务到主程序
- 实时同步配置设置
- 支持文件打包下载
浏览器脚本在小红书网页上添加功能菜单,实现"所见即所得"的数据采集
脚本安装步骤
- 安装Tampermonkey浏览器扩展
- 打开脚本管理页面
- 从URL安装:
https://raw.githubusercontent.com/JoeanAmier/XHS-Downloader/refs/heads/master/static/XHS-Downloader.js - 启用脚本即可在小红书网页上使用
服务器模式:API与MCP集成
API模式:开发者友好接口
XHS-Downloader提供了完整的REST API,方便开发者集成到自己的应用中:
# 启动API服务器 python main.py api # 访问API文档 # http://127.0.0.1:5556/docs # http://127.0.0.1:5556/redocAPI核心端点:
POST /xhs/detail:获取作品详细信息或下载作品文件- 支持JSON格式请求参数
- 提供完整的Swagger/Redoc文档
API调用示例:
import requests server = "http://127.0.0.1:5556/xhs/detail" data = { "url": "小红书作品链接", "download": True, "index": [1, 3, 5], "proxy": "http://127.0.0.1:10808" } response = requests.post(server, json=data, timeout=10) print(response.json())MCP模式:AI助手集成
对于使用AI助手的用户,MCP模式提供了无缝集成体验:
# 启动MCP服务器 python main.py mcp # MCP配置地址 # http://127.0.0.1:5556/mcp/在MCP工具中配置XHS-Downloader服务,实现AI助手直接调用下载功能
MCP功能特点:
- 支持流式HTTP传输
- 与AI助手深度集成
- 支持自然语言指令调用
- 实时状态反馈
二次开发指南
代码集成示例
XHS-Downloader提供了完整的Python API,方便开发者集成到自己的项目中:
from asyncio import run from source import XHS async def custom_download(): """自定义参数下载示例""" async with XHS( work_path="./downloads", # 自定义保存路径 folder_name="XHS_Content", # 文件夹名称 name_format="发布时间 作者昵称 作品标题", # 文件名格式 cookie="your_cookie_here", # Cookie配置 image_format="WEBP", # 图片格式 author_archive=True, # 按作者分类 write_mtime=True, # 修改时间为发布时间 ) as xhs: # 下载作品 result = await xhs.extract( "https://www.xiaohongshu.com/explore/作品ID", download=True, index=[1, 2, 3] # 只下载前3张图片 ) print(result)核心模块结构
XHS-Downloader采用模块化设计,主要模块包括:
source/application/:核心应用逻辑download.py:下载功能实现request.py:网络请求处理image.py:图片处理逻辑video.py:视频处理逻辑
source/module/:功能模块model.py:数据模型定义settings.py:配置管理tools.py:工具函数
source/CLI/:命令行接口source/TUI/:图形界面
适用场景与最佳实践
场景1:内容创作者作品备份
需求:定期备份自己发布的所有作品,保持原始质量
解决方案:
- 使用浏览器脚本提取所有发布作品链接
- 配置
author_archive=true按作者分类 - 设置
write_mtime=true保持文件时间戳 - 启用
download_record=true避免重复下载
配置示例:
python main.py --author_archive true --write_mtime true --name_format "发布时间 作品标题"场景2:市场研究数据收集
需求:收集特定主题的小红书内容进行分析
解决方案:
- 使用搜索功能获取相关作品链接
- 配置代理避免IP限制
- 设置
record_data=true保存作品元数据 - 使用API模式集成到分析脚本
配置示例:
python main.py --proxy "http://proxy.example.com:8080" --record_data true场景3:个人收藏整理
需求:整理喜欢的作品,按主题分类保存
解决方案:
- 开启剪贴板监听模式
- 浏览时直接复制链接自动下载
- 使用
folder_mode=true为每个作品创建独立文件夹 - 配置
note_format="md"保存作品信息为Markdown格式
性能对比与优化建议
不同模式性能对比
| 功能特性 | 图形界面 | 命令行 | 浏览器脚本 | API模式 | MCP模式 |
|---|---|---|---|---|---|
| 易用性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐☆☆ | ⭐⭐⭐⭐☆ | ⭐⭐☆☆☆ | ⭐⭐⭐☆☆ |
| 自动化程度 | ⭐⭐☆☆☆ | ⭐⭐⭐⭐☆ | ⭐⭐⭐☆☆ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 批量处理 | ⭐⭐⭐☆☆ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐☆ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐☆ |
| 集成能力 | ⭐☆☆☆☆ | ⭐⭐☆☆☆ | ⭐⭐⭐☆☆ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 配置灵活性 | ⭐⭐⭐☆☆ | ⭐⭐⭐⭐⭐ | ⭐⭐☆☆☆ | ⭐⭐⭐⭐☆ | ⭐⭐⭐☆☆ |
优化建议
网络环境优化:
- 国内用户建议配置代理服务器
- 设置合理的
timeout和max_retry参数 - 使用Cookie获取更稳定的连接
存储管理优化:
- 定期清理下载记录数据库
- 使用
author_archive按作者分类 - 配置合适的文件名格式便于搜索
性能调优:
- 根据网络状况调整
chunk大小 - 启用下载记录避免重复请求
- 使用合适的图片格式平衡质量和大小
- 根据网络状况调整
常见问题与解决方案
Q1:下载速度慢怎么办?
A:检查网络连接,尝试配置代理服务器,调整chunk参数大小,或使用Cookie提升连接稳定性。
Q2:视频画质不理想?
A:配置Cookie获取高清视频权限,设置video_preference="resolution"优先选择高分辨率版本。
Q3:链接失效无法下载?
A:使用最新获取的作品链接,避免使用过期链接。小红书链接通常带有时间戳,过期链接可能被风控。
Q4:批量下载时程序卡顿?
A:适当调整max_retry和timeout参数,避免同时处理过多链接,分批处理大数量任务。
Q5:如何避免重复下载?
A:启用download_record=true功能,程序会自动记录已下载作品ID并跳过重复下载。
进阶学习路径
开发者进阶
源码阅读:
- 从
source/application/download.py开始了解核心下载逻辑 - 研究
source/module/model.py理解数据结构 - 查看
example.py学习API调用方式
- 从
二次开发:
- 基于现有API开发自定义功能
- 集成到自动化工作流中
- 开发Web界面或移动端应用
贡献代码:
- 遵循项目代码规范
- 从
develop分支开始开发 - 提交清晰的Pull Request
运维部署
服务器部署:
- 使用Docker容器化部署
- 配置反向代理和SSL证书
- 设置系统服务自启动
监控维护:
- 监控API服务状态
- 定期清理日志和临时文件
- 备份配置和下载记录
安全加固:
- 配置防火墙规则
- 使用HTTPS加密传输
- 定期更新依赖包
技术架构与设计理念
XHS-Downloader采用现代化的Python技术栈,核心设计理念包括:
模块化架构
项目采用清晰的模块化设计,各功能模块职责分明:
- 应用层:处理用户交互和业务逻辑
- 服务层:提供API和网络服务
- 数据层:管理配置和下载记录
- 工具层:提供通用工具函数
异步处理
充分利用Python的异步特性,实现高效并发:
- 使用
asyncio处理并发请求 aiohttp处理网络IOaiosqlite异步数据库操作
配置驱动
所有功能都可通过配置文件灵活调整:
- JSON格式配置文件
- 运行时动态加载
- 支持环境变量覆盖
扩展性设计
预留了丰富的扩展接口:
- 插件系统支持
- 自定义下载处理器
- 多格式输出支持
社区资源与支持
官方资源
- 项目仓库:包含完整源码和文档
- 问题反馈:通过GitHub Issues报告问题
- Discord社区:实时交流和技术支持
学习资料
- 示例代码:
example.py提供完整的API使用示例 - 配置文档:详细的配置参数说明
- 视频教程:B站和YouTube上的操作演示
最佳实践分享
- 定期更新:关注项目更新,获取最新功能和修复
- 备份配置:定期备份
settings.json配置文件 - 参与社区:分享使用经验,帮助其他用户
总结与展望
XHS-Downloader作为一个功能全面的小红书内容采集工具,提供了从简单到复杂的多种使用方式,满足了不同用户群体的需求。无论是个人用户想要保存喜欢的笔记,还是开发者需要集成到自己的应用中,都能找到合适的解决方案。
核心价值:
- 易用性:图形界面让非技术用户也能轻松上手
- 灵活性:命令行和API提供了强大的定制能力
- 扩展性:模块化设计支持功能扩展和二次开发
- 稳定性:完善的错误处理和重试机制
未来展望: 随着小红书的不断更新,XHS-Downloader也将持续迭代,计划中的功能包括:
- 更多文件格式支持
- 智能分类和标签系统
- 云端同步功能
- 移动端应用
无论你是小红书内容创作者、数据分析师,还是技术开发者,XHS-Downloader都能为你提供高效、稳定的小红书内容采集解决方案。开始使用吧,让内容管理变得更加简单!
【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
