小红书作品采集下载完整攻略:XHS-Downloader 开源工具从入门到进阶
小红书作品采集下载完整攻略XHS-Downloader 开源工具从入门到进阶【免费下载链接】XHS-Downloader小红书XiaoHongShu、RedNote链接提取/作品采集工具提取账号发布、收藏、点赞、专辑作品链接提取搜索结果作品、用户链接采集小红书作品信息提取小红书作品下载地址下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader你有没有经历过这样的时刻刷到一篇干货满满的小红书图文想存进本地慢慢消化却只能一张张长按保存发现一个宝藏博主的系列视频想全部收藏手动操作半小时才下了三个复制了一堆作品链接躺在备忘录里真正要用时又忘了原出处。这种收藏即吃灰的循环正是 XHS-Downloader 这款开源小红书作品采集下载工具要帮你打破的。它能提取账号发布、收藏、点赞、专辑里的作品链接采集作品信息并批量下载图文、视频、动图文件。一句话概括把小红书上的内容变成你本地硬盘里井井有条的资产。接下来这份攻略将带你完成从安装到进阶的完整旅程。动手之前先认识这位作品管家与其说它是下载器不如说它是一个作品管家。它替你完成四件最琐碎的事采集自动提取账号发布、收藏、点赞、专辑以及搜索结果中的作品链接无需手动逐条复制解析获取作品标题、描述、类型、点赞收藏评论数量、发布时间、作者信息等完整数据下载图文、视频、LivePhoto 动图全类型支持视频可按分辨率、码率或文件大小择优归档按作者自动分文件夹、按自定义规则命名、记录下载历史防止重复让文件像图书馆一样整齐。如果你只用一句话记住它一个工具把小红书内容从网页上的数据变成本地可管理的资产。出发前的准备三条安装路线任选动手前先选一条适合自己的路线三条路的效果完全一致区别只在环境要求。路线A开箱即用零基础首选到项目 Releases 页面下载对应系统的程序压缩包解压后双击运行main文件即可不需要安装 Python。如果你用 macOS首次运行前需在终端执行一次xattr -cr 项目文件夹路径来解除系统安全限制。这种方式下文件默认保存到_internal\Volume\Download配置在_internal\Volume\settings.json。路线B源码运行开发者的主场克隆代码后用 uv 一条命令同步依赖这是官方推荐的方式git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader cd XHS-Downloader uv sync --no-dev uv run main.py不想装 uv 也可以用 pip先创建虚拟环境再执行pip install -r requirements.txt安装依赖最后python main.py启动。需要提醒的是本项目要求 Python 3.12 及以上版本。路线CDocker 容器化服务器部署docker pull joeanamier/xhs-downloader docker run -p 5556:5556 -v xhs_downloader_volume:/app/Volume -it joeanamier/xhs-downloader容器会把数据保存在名为xhs_downloader_volume的卷中方便迁移备份。第一站图形界面三步完成下载图形界面TUI 模式是绝大多数人的起点它长这样整个界面只有一个核心输入框操作逻辑简单到可以背下来把小红书作品链接粘贴到输入框支持多个链接用空格分隔点击下载无水印作品文件按钮坐等文件落盘。如果你正在刷小红书、链接已经复制到剪贴板直接点读取剪贴板按钮程序会自动识别并填入链接。更贴心的是它还能后台监听剪贴板开启监听后你在任何地方复制小红书链接程序都会自动开始下载全程不用回到窗口操作。底部一排快捷键也值得记住S打开设置、R查看下载记录、M开启监听、U检查更新。遇到想跳过但已经下载过的作品程序会自动识别并跳过绝不让硬盘堆积重复内容。第二站命令行一条命令搞定批量任务当你需要把下载嵌进脚本、定时任务或者只想下载图文里的某几张图时命令行模式CLI就该登场了。它把全部能力浓缩成一组参数最常用的三个场景如下。批量下载多个作品——把链接用空格分隔放进引号程序会自动提取有效链接逐个处理python main.py --url 链接1 链接2 链接3 --download true只下载图文作品中的指定图片——用--index指定图片序号python main.py --url 作品链接 --download true --index 1 3 5指定输出目录与高清 Cookie——用--work_path和--cookie控制保存位置与画质python main.py --url 作品链接 --download true --work_path D:\XHS --cookie 你的Cookie实际运行时程序会依次打印每条作品的处理状态和每个文件的下载结果全程可视化反馈需要留意的是设置--index后一次只处理一个链接bool类型参数支持true/false/1/0/yes/no/on/off多种写法非常宽容。第三站浏览器脚本边逛边下载命令行再方便也绕不开复制链接这一步。有没有可能在小红书页面里直接操作答案是用户脚本。前提是浏览器安装了 Tampermonkey 扩展然后把项目仓库static目录下的XHS-Downloader.js安装为脚本。安装后在任意小红书页面右下角会出现脚本入口菜单长这样脚本最出彩的能力是批量提取链接进入某位博主主页一键提取他发布、收藏、点赞、专辑里的全部作品链接在搜索结果页一键提取所有作品链接和用户链接提取结果直接写入剪贴板粘贴给程序就能批量下载。它还能自动滚动页面直至加载全部作品再配合文件打包下载选项一次把整套内容打包带走。如果你在本地把程序设置为服务器模式配置文件里script_server设为true保持程序后台运行浏览器里点一下推送下载任务链接就会直接发给程序处理真正的边逛边下载。提示自动滚动功能默认关闭因为频繁自动滚动可能被平台识别为异常操作需要时再手动开启并控制滚动次数。第四站把下载能力变成接口喂给你的程序或AI如果你想让其他程序、脚本甚至 AI 助手调用下载能力项目提供了两种服务器模式用python main.py api或python main.py mcp启动即可。API 模式启动后访问http://127.0.0.1:5556/docs可看到自动生成的交互式接口文档。核心接口是POST /xhs/detail一段简单的 Python 代码就能接入import requests resp requests.post( http://127.0.0.1:5556/xhs/detail, json{ url: 小红书作品链接, download: True, # 是否下载文件 index: [1, 3, 5], # 只下载第1、3、5张图 skip: False, # 是否跳过有下载记录的作品 }, timeout10, ) print(resp.json())这段代码能帮你做什么在你自己的程序里把作品链接交给本地服务就能拿到结构化作品信息并触发下载适合做内容采集管道或自动化工具。MCP 模式则是给 AI 助手准备的。在支持 MCP 的客户端里添加一个服务器填上 URLhttp://127.0.0.1:5556/mcp/配置完成后你就能直接用自然语言指挥 AI帮我看看这个链接的作品信息下载这篇图文的第2张图片。AI 会调用工具完成任务并返回结果Docker 部署同样支持这两种模式只需在启动命令末尾加上python main.py api或python main.py mcp。让工具更懂你配置文件与高清画质解锁程序的全部行为都由./Volume/settings.json控制首次运行自动生成。几个值得认真设置的参数参数作用示例值name_format文件命名规则支持点赞数、作品ID、发布时间等十余个字段发布时间 作者昵称 作品标题image_format图文下载格式AUTO/PNG/WEBP/JPEG/HEICWEBPvideo_preference视频择优分辨率/码率/文件大小优先resolutionauthor_archive按作者分文件夹归档文件夹名为作者ID_作者昵称truemapping_data作者别名映射如{作者ID: 我的偶像}见说明download_record记录已下载作品ID重复自动跳过true这套配置里藏着一个很妙的设计开启作者归档后如果作者改了昵称程序会自动更新已下载文件里的昵称部分你还可以用mapping_data给作者起外号归档时直接用别名。搭配write_mtime开启文件修改时间会被改写为作品发布时间按时间排序查看时无比丝滑。还有一个直接影响画质的关键配置Cookie。不配置 Cookie 时视频只能下载低分辨率版本配置后无需登录账号即可解锁高清画质。获取步骤很简单浏览器打开小红书 explore 页面按F12打开开发者工具切到网络选项卡勾选保留日志输入过滤条件cookie-name:web_session点击任意一篇作品选中产生的请求在请求头的 Cookie 字段复制完整内容粘贴到配置文件的cookie参数即可。三类人的典型落地场景普通用户——追更博主的内容备份把喜欢的博主加入关注每周用用户脚本提取他的最新发布链接粘贴给程序批量下载配上自动去重你的本地素材库会和博主的更新保持同步。进阶用户——竞品内容调研用脚本提取某个赛道头部账号的发布与收藏链接程序按作者归档下载再开启record_data把作品数据存入 SQLite 数据库点赞、评论、发布时间随手可查写报告时直接导出数据。开发者——内容采集管道把 API 模式跑在服务器上你的爬虫或业务系统通过POST /xhs/detail提交链接统一收口作品信息与文件下载再对接自己的存储和检索系统。高频问题速答Q下载的视频画质很低怎么办A说明还没配置 Cookie。按上文步骤配置一次无需登录即可获取高清视频文件。Q想批量下载某位博主的全部作品最快的方式是什么A两步走——先用用户脚本在博主主页一键提取全部发布作品链接可自动滚动加载再把链接丢给程序批量下载。脚本负责找程序负责下。Q下载的文件存在哪里怎么改A默认在./Volume/Download/。在配置文件中修改work_path根路径和folder_name文件夹名即可开启author_archive后文件会按作者分目录存放。Q重复作品会自动跳过想重新下载怎么办A下载记录默认开启重复作品会直接跳过。想强制重下删除./Volume/ExploreID.db中对应的作品 ID或把download_record改为false此时改为检测文件是否存在文件缺失才重下。Q都支持哪些链接格式Aexplore/作品ID、discovery/item/作品ID、user/profile/作者ID/作品ID、xhslink.com短链都支持单次可传多个链接空格分隔程序会自动提取有效部分。Q只想下载图文里的某几张图可以吗A可以。命令行用--index 1 3 5API 用index: [1, 3, 5]MCP 直接告诉 AI下载第2张图即可。性能调优与合规使用提醒想让下载更快更稳可以在配置文件里微调三个参数timeout请求超时秒数、max_retry失败重试次数、chunk单次分块大小默认 2MB。网络不畅时可通过proxy设置代理程序内置了请求延时机制主动避免高频请求。下载中断也不用慌程序支持断点续传。关于合规请务必记住这几点遵守小红书平台规则合理控制请求频率尤其慎用自动滚动等易被识别为自动化操作的开关仅下载个人学习、备份或已获授权的内容不传播、不商用未经授权的作品尊重原作者版权涉及版权内容的二次开发请自行评估法律风险项目采用 GPL v3 开源协议二次分发需遵守协议要求。架构速览与二次开发入口如果你想改代码先从整体结构入手source/ ├── application/ # 下载、请求、图像、视频等业务逻辑 ├── module/ # 数据模型、设置管理、下载记录、工具函数 ├── CLI/ # 命令行入口 ├── TUI/ # 终端图形界面 └── translation/ # 中英文多语言支持二次开发的入口在example.py核心是XHS这个对象。想定制一套下载逻辑几十行代码就能搞定from asyncio import run from source import XHS async def main(): async with XHS( work_path./my_volume, folder_name小红书, name_format发布时间 作者昵称 作品标题, image_formatWEBP, author_archiveTrue, download_recordTrue, ) as xhs: result await xhs.extract(作品链接, downloadTrue) print(result) run(main())这段代码能帮你做什么它展示了二次开发的基本姿势实例化XHS并传入自己的参数调用extract方法获取作品信息并下载文件返回结果可直接对接你的业务逻辑。下载记录、重试、文件命名这些脏活累活框架全都包了。现在就把小红书内容变成你的本地资产回顾这趟旅程图形界面负责零门槛上手命令行负责批量与自动化用户脚本打通了浏览器体验API 与 MCP 让能力可以被任何程序调用而配置文件则把命名、归档、去重这些细节打磨到省心的程度。加上完整的数据采集、断点续传、多语言支持和活跃的开源社区维护它已经是一套相当成熟的内容管理基础设施。如果你还在用截图和录屏保存小红书内容是时候换一种方式了。克隆项目、装好依赖、跑起来把第一条链接交给它试试——你会发现曾经最头疼的内容整理原来可以这么顺畅。现在就动手从下载你的第一条小红书作品开始。【免费下载链接】XHS-Downloader小红书XiaoHongShu、RedNote链接提取/作品采集工具提取账号发布、收藏、点赞、专辑作品链接提取搜索结果作品、用户链接采集小红书作品信息提取小红书作品下载地址下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考