XHS-Downloader:高效智能的小红书内容采集与下载完整方案
XHS-Downloader:高效智能的小红书内容采集与下载完整方案
【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader
还在为保存小红书上的精彩内容而烦恼吗?每次看到喜欢的图文教程、创意视频或精美图片,想要收藏却总是遇到水印遮挡、画质压缩、批量下载困难等问题。XHS-Downloader 提供了一套完整的解决方案,让小红书内容下载变得简单高效。无论你是普通用户想要保存喜欢的内容,还是内容创作者需要收集素材,或是开发者需要集成下载功能,这个开源工具都能满足你的需求。
核心理念:让内容保存回归纯粹
小红书作为一个内容创作和分享平台,每天都有大量优质内容产生。然而,平台本身并不提供便捷的内容导出功能,用户经常面临保存困难。XHS-Downloader 的核心理念是打破这个限制,让用户能够自由、高效地保存和整理自己喜欢的内容。
XHS-Downloader不仅仅是一个下载工具,更是一个完整的内容管理解决方案。它支持多种链接格式,包括标准的小红书分享链接、个人主页链接、专辑链接等,能够智能识别并提取作品信息。更重要的是,它能够获取原始的无水印文件,确保你保存的内容保持最佳质量。
快速上手:3分钟开启高效下载之旅
环境准备与安装
开始使用 XHS-Downloader 非常简单。首先,你需要克隆项目到本地:
git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader cd XHS-Downloader接下来,推荐使用 uv 工具安装依赖,这是目前最便捷的方式:
uv sync --no-dev如果你习惯使用传统的 pip 安装方式,也可以创建虚拟环境后安装:
python -m venv venv # 激活虚拟环境(Linux/macOS:source venv/bin/activate,Windows:venv\Scripts\activate) pip install -r requirements.txt安装完成后,运行uv run main.py或python main.py即可启动程序。
图形界面操作:直观易用的主界面
启动程序后,你会看到一个简洁直观的图形界面,这是最适合新手的操作方式。主界面设计考虑到了用户的操作习惯,所有功能都一目了然。
主界面包含三个核心功能区域:
- 链接输入框:直接粘贴小红书作品链接,支持多个链接用空格分隔
- 功能按钮区:包含"下载作品文件"、"读取剪贴板"、"清空输入框"三个主要按钮
- 快捷键提示:底部显示所有可用快捷键,方便快速操作
快捷键操作指南:
Q:退出程序U:检查更新S:进入程序设置R:查看下载记录M:开启剪贴板监听模式
基础配置:个性化你的下载体验
点击S键或通过菜单进入程序设置界面,你可以根据个人需求调整各项参数:
关键配置项说明:
- 重试次数:网络不稳定时建议设置为5-10次,确保下载成功率
- 图片下载格式:支持 PNG、JPEG、WEBP、HEIC 等多种格式,推荐使用 HEIC 格式平衡画质和文件大小
- 视频下载偏好:码率优先可以获得更好的画质体验
- 文件夹模式:开启后每个作品独立文件夹,便于文件管理
- 作者归档:按作者分类保存,适合长期收藏整理
深度应用:四种使用方式满足不同需求
方式一:图形界面模式 - 适合所有用户
图形界面模式是最推荐给普通用户的使用方式。无需记忆任何命令,所有操作都通过直观的界面完成。特别适合日常浏览小红书时,看到喜欢的内容直接复制链接,打开程序粘贴下载。
使用场景:个人用户日常使用,无需技术背景,操作简单直观。
方式二:命令行模式 - 适合技术用户
对于需要批量处理或自动化场景的用户,命令行模式提供了更精细的控制:
常用命令示例:
# 下载单个作品 python main.py --url "https://xhslink.com/xxx" # 批量下载多个作品 python main.py --url "链接1 链接2 链接3" --image_format webp --folder_mode true # 下载指定图片序号 python main.py --url "链接" --index "2,5" --work_path "/自定义路径"核心参数说明:
--url:小红书作品链接,支持多链接--index:指定下载图文作品中的图片序号--image_format:图片格式选择--folder_mode:是否使用文件夹模式--work_path:自定义下载路径
方式三:剪贴板监听模式 - 自动化下载体验
剪贴板监听模式是提升效率的利器。开启后程序会在后台自动监控剪贴板,一旦检测到小红书链接就自动下载,完全不打断你的浏览体验。
开启步骤:
- 在主界面按
M键或点击"开启监听"按钮 - 复制小红书作品链接到剪贴板
- 程序自动识别并开始下载
- 如需停止,在剪贴板输入"close"或点击退出按钮
使用技巧:这个功能特别适合浏览小红书时使用。看到喜欢的内容,直接复制链接,程序就会在后台默默下载,你可以继续浏览其他内容。
方式四:用户脚本模式 - 浏览器集成方案
如果你经常使用浏览器访问小红书,用户脚本模式将是你的最佳选择。通过浏览器扩展,你可以在小红书网页版直接提取和下载内容。
安装步骤:
- 安装 Tampermonkey 或类似浏览器扩展
- 添加 XHS-Downloader 用户脚本
- 在小红书网页版使用提取功能
脚本功能亮点:
- 提取发布作品链接
- 提取收藏作品链接
- 提取点赞作品链接
- 提取专辑作品链接
- 提取搜索结果作品链接
- 提取搜索结果用户链接
场景应用:解决实际问题的完整方案
场景一:个人收藏整理
需求:想要保存自己喜欢的博主的全部作品,建立个人资料库。
解决方案:
- 使用用户脚本提取博主的所有发布作品链接
- 将链接保存到文本文件
- 使用命令行批量处理:
python main.py --url "$(cat links.txt)" --folder_mode true --author_archive true最佳实践:开启作者归档功能,系统会自动为每个作者创建独立文件夹,文件夹名称为作者ID_作者昵称,便于后续查找和管理。
场景二:内容创作素材收集
需求:设计师、内容创作者需要收集灵感素材,建立素材库。
解决方案:
- 开启剪贴板监听模式
- 浏览小红书时看到喜欢的素材直接复制链接
- 程序自动下载到指定文件夹
- 开启文件夹模式,每个作品独立保存
文件管理技巧:建议按月份或项目分类创建不同的下载目录,配合智能命名功能,让素材管理更加有序。
场景三:团队协作与共享
需求:团队需要共享小红书内容作为参考或素材。
解决方案:
- 使用 Docker 部署 API 服务器模式
- 团队成员通过 API 接口提交下载任务
- 文件统一保存到共享存储
- 通过 Web 界面查看下载进度和结果
API 调用示例:
from source.application.app import XHS async def download_content(): async with XHS( work_path="团队共享路径", folder_name="项目素材", name_format="发布时间 作者昵称 作品标题", image_format="WEBP", folder_mode=True ) as xhs: result = await xhs.extract( "https://www.xiaohongshu.com/explore/XXX", download=True )场景四:自动化内容备份
需求:定期备份特定博主的内容更新。
解决方案:
- 编写脚本定期提取博主新作品链接
- 使用 cron 定时任务自动下载
- 设置邮件或消息通知,了解下载状态
自动化脚本示例:
#!/bin/bash # 每天凌晨2点自动下载 cd /path/to/XHS-Downloader python main.py --url "博主最新作品链接" >> /var/log/xhs_downloader.log 2>&1进阶技巧:提升下载体验的关键配置
Cookie 配置:获取更高画质内容
虽然 Cookie 配置不是强制项,但配置后可以获得更好的体验。特别是对于视频作品,未设置 Cookie 时只能下载低分辨率文件,配置 Cookie 后可获取更高画质。
获取 Cookie 步骤:
- 在小红书网页版打开任意页面
- 按 F12 打开开发者工具
- 切换到 Network(网络)选项卡
- 勾选"保留日志"
- 在过滤框中输入
cookie-name:web_session - 选择 Fetch/XHR 筛选器
- 点击任意作品,在网络请求中找到 Cookie 值
配置方法:将获取到的 Cookie 值复制到程序设置中,或通过命令行参数--cookie传入。
性能调优指南
根据不同的使用场景,可以调整以下参数以获得最佳性能:
高速网络环境:增大分块大小至 1MB,提升下载速度
python main.py --chunk 1048576不稳定网络:增加重试次数至 10 次,提高成功率
python main.py --max_retry 10大文件下载:延长超时时间至 60 秒,避免中断
python main.py --timeout 60节省存储空间:使用 WebP 格式,画质损失小,文件体积小
python main.py --image_format webp文件管理最佳实践
按作者归档:开启author_archive参数,程序会自动为每个作者创建独立文件夹,结构清晰:
Download/ ├── 作者ID1_昵称1/ │ ├── 作品1.jpg │ ├── 作品2.mp4 │ └── metadata.json ├── 作者ID2_昵称2/ │ ├── 作品1.webp │ └── metadata.json └── ...按作品归档:开启folder_mode参数,每个作品单独文件夹,包含所有相关文件:
Download/ ├── 作品1_20250101_作者A/ │ ├── image1.jpg │ ├── image2.jpg │ └── metadata.json ├── 作品2_20250102_作者B/ │ ├── video.mp4 │ └── metadata.json └── ...智能命名:自定义文件名称格式,支持多种字段组合:
发布时间 作者昵称 作品标题作品ID 发布时间 作者昵称作者昵称 作品标题 作品类型
避坑指南:常见问题解决方案
Q1:下载速度慢怎么办?
排查步骤:
- 检查网络连接状态,尝试更换网络环境
- 调整并发下载数(配置文件中的
chunk参数) - 考虑使用代理服务器,特别是访问境外内容时
- 增大下载分块大小:
--chunk 1048576
优化建议:在网络状况良好的时段进行批量下载,避免高峰时段。
Q2:链接解析失败如何处理?
排查步骤:
- 确认链接是否包含完整作品ID
- 尝试在浏览器中打开链接确认有效性
- 确保链接格式符合支持的类型
- 更新 Cookie 配置后重试
支持链接格式:
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/分享码
Q3:文件保存失败怎么办?
按顺序检查:
- 磁盘空间是否充足
- 文件路径权限是否正确
- 查看日志文件中的具体错误信息
- 尝试更换保存路径
权限问题解决:在 Linux/macOS 系统上,确保对下载目录有写权限;在 Windows 系统上,避免使用系统保护目录。
Q4:如何获取更高画质的视频?
必须配置 Cookie:
- 按照前文步骤获取小红书网页版 Cookie
- 在程序设置中配置 Cookie
- 重新下载视频作品
画质对比:配置 Cookie 后,视频分辨率可从 480p 提升至 1080p 或更高。
Q5:支持批量下载吗?
完全支持!多种方式可选:
- 命令行模式:
--url "链接1 链接2 链接3" - 图形界面:多个链接用空格分隔
- 用户脚本:批量提取链接后统一处理
批量处理技巧:将多个链接保存到文本文件,使用命令行批量处理。
Q6:Docker 运行有什么限制?
Docker 运行注意事项:
- 不支持命令行调用模式
- 无法使用读取剪贴板与监听剪贴板功能
- 可以正常粘贴内容
- 其他功能如有异常请反馈
生态拓展:从工具到平台
Docker 容器化部署
对于需要在服务器环境或隔离环境中使用的场景,Docker 是最佳选择:
TUI 模式运行:
docker run --name xhs-downloader -p 5556:5556 -v xhs_downloader_volume:/app/Volume -it joeanamier/xhs-downloaderAPI 模式运行:
docker run --name xhs-downloader -p 5556:5556 -v xhs_downloader_volume:/app/Volume -it joeanamier/xhs-downloader python main.py apiMCP 模式运行:
docker run --name xhs-downloader -p 5556:5556 -v xhs_downloader_volume:/app/Volume -it joeanamier/xhs-downloader python main.py mcpAPI 服务器模式
如果你需要将下载功能集成到其他系统中,API 服务器模式提供了标准化的接口:
启动 API 服务器:
python main.py api启动后访问http://127.0.0.1:5556/docs查看交互式 API 文档。主要接口包括:
POST /xhs/detail:获取作品详细信息POST /xhs/download:下载作品文件
API 调用示例:
import requests response = requests.post( "http://127.0.0.1:5556/xhs/download", json={ "url": "https://xhslink.com/xxx", "download": True, "cookie": "your_cookie_here" } )二次开发与集成
XHS-Downloader 采用模块化设计,便于二次开发和功能扩展:
核心模块结构:
source/application/:核心应用逻辑source/module/:功能模块source/expansion/:扩展功能source/translation/:国际化支持
代码调用示例:
from source.application.app import XHS # 自定义配置初始化 xhs = XHS( work_path="自定义路径", folder_name="项目文件夹", name_format="发布时间 作者昵称 作品标题", image_format="WEBP", folder_mode=True, author_archive=True ) # 执行下载任务 result = await xhs.extract( "https://www.xiaohongshu.com/explore/XXX", download=True, index=[1, 3, 5] # 只下载第1、3、5张图片 )最佳实践总结
新手用户建议
- 从图形界面开始:先熟悉基本操作,了解程序功能
- 配置 Cookie:获取更好的视频画质体验
- 开启文件夹模式:保持文件组织有序
- 使用剪贴板监听:提升日常使用效率
进阶用户建议
- 掌握命令行参数:实现批量处理和自动化
- 合理配置性能参数:根据网络环境调整
- 使用用户脚本:浏览器集成提升效率
- 定期更新程序:获取最新功能和修复
开发者建议
- 阅读源码结构:了解模块化设计
- 利用 API 接口:集成到现有系统
- 参与社区贡献:提交问题反馈或代码改进
- 关注更新日志:了解功能变化和技术演进
立即开始使用
XHS-Downloader 作为一款功能全面、易于使用的小红书内容下载工具,真正解决了用户在小红书内容保存过程中的核心痛点。无论你是普通用户想要无水印保存喜欢的内容,还是内容创作者需要批量收集素材,或是开发者需要集成下载功能,XHS-Downloader 都能提供完美的解决方案。
立即开始使用:
- 克隆项目:
git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader - 安装依赖:
uv sync --no-dev - 启动程序:
uv run main.py - 开始下载:粘贴链接,点击下载
记住,开源项目的生命力在于社区。如果你在使用过程中有任何问题或建议,欢迎到项目仓库提交 Issue,或者加入社区与其他用户交流。让我们一起打造更好的小红书内容下载体验!
最后的小贴士:定期更新项目代码可以获取最新功能和修复。关注项目的更新信息,及时获取新版本,让你的下载体验始终保持最佳状态。
【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考