
300 条小红书收藏 30 分钟搬回本地XHS-Downloader 链接提取与作品下载实操【免费下载链接】XHS-Downloader小红书XiaoHongShu、RedNote链接提取/作品采集工具项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader我收藏夹里 300 多条笔记最早一条是两年前存的。想手动逐条点开大图保存一条 6 张图的笔记平均要 1 分半光图文就是四五个小时视频更是没法靠截图留。XHS-Downloader 是开源的小红书XiaoHongShu、RedNote作品采集工具它把提取作品链接和下载作品文件这两件事拆成了可以单独使用的两个环节浏览器脚本负责把发布、收藏、点赞里的链接批量抓出来本地程序负责把链接变成高清文件和视频。这篇文章就是那次整理过程的重现命令都可以照着走。第一条命令下完第一张图不想碰命令行的人可以直接去 Releases 下现成的压缩包解压双击就能用我这次是从源码跑的装环境一共三步git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader cd XHS-Downloader uv sync --no-dev # 只装运行依赖不装开发依赖uv sync --no-dev一步装完全部依赖省掉手动建虚拟环境、逐条 pip 的 20 分钟。装好后从浏览器复制一条作品链接形如https://www.xiaohongshu.com/explore/作品ID?xsec_tokenXXX执行uv run main.py --url https://www.xiaohongshu.com/explore/作品ID?xsec_tokenXXX链接必须放在引号里因为里面带?和。这一步解决的是打开页面、逐张另存整个手动环节——程序自己解析作品信息、挑最高清源、写盘到本地图文默认存 JPEG。跑完终端会打印作品标题、类型和保存位置默认落在Volume/Download下。参数拿不准时跑python main.py --help会输出一张带中文说明的参数表不用翻文档到这里你手里已经有第一个本地文件了。如果需求只是偶尔存几张图停在这层就够要开始挑图、要高清视频往下看。图集挑图--index 只下要的那几张有些图集十几张图你可能只要其中两三张。--index就是干这个的python main.py --url 图文作品链接 --index 1 3 5序号用空格分隔只下载第 1、3、5 张剩下十几张的请求和流量全省了。注意一旦带上--index一条命令只处理一个链接——这个限制是合理的挑图本身就是针对单个作品的操作。不带--index时引号里可以放多个链接用空格分隔程序会自动滤掉无效的那部分python main.py --url 链接A 链接B 链接C视频发糊补一个 Cookie 就够了不配 Cookie 也能下载但视频会被限制在低分辨率填上 Cookie 就能拿到高清源文件而且不需要登录账号。获取步骤浏览器打开小红书首页按F12打开开发者工具切到网络选项卡勾选保留日志过滤框输入cookie-name:web_session随便点开一篇作品从请求包里全选复制 Cookie拿到后写进Volume/settings.json首次运行自动生成的cookie字段以后每次下载自动带上不用每次传--cookie参数。顺手可以改两个字段image_format支持 JPEG、WEBP、PNG、HEIC、AUTO默认 JPEGvideo_preference控制视频源挑选策略resolution分辨率优先、bitrate码率优先、size文件大小优先默认是分辨率优先。改完重启程序生效。到这里单条下载的两个主要不满都解决了。下一步是把单条变成整页采集一个账号的全部收藏或发布作品。批量采集脚本提链接程序跑下载分工是这样的——浏览器里的用户脚本负责提取本地程序负责执行两边各做各的用一坨链接文本做交接。脚本部分在浏览器装好 Tampermonkey 扩展选从 URL 安装把仓库里现成的脚本static/XHS-Downloader.js的地址填进去刷新小红书页面即可装好后在小红书任意页面点脚本菜单有提取发布作品链接提取收藏作品链接提取点赞作品链接等入口链接会被整理进剪贴板把剪贴板里的一整串链接粘给程序就是一条完整流水线python main.py --url 链接A 链接B 链接C ... --work_path ./my_downloads --name_format 发布时间 作者昵称 作品标题--work_path指定保存根目录--name_format用空格拼字段支持发布时间、作者昵称、作品标题、作品 ID、点赞数这些整理素材库时省掉重命名想每个作品单独一个文件夹加--folder_mode true想按作者归档用--author_archive true作者改昵称时已存文件里的昵称部分还会被自动更新。我那次 300 条收藏的实测账本手动滚动加载加脚本提取链接约 3 分钟程序批量下载 30 分钟左右——大头是程序内置的请求延时avg_delay默认 6 秒这个别急着改小不是下载本身。中途断网两次程序自动重试接着跑已经成功的作品被记录在案直接跳过重跑没有产生重复文件。对比手动逐条保存要四五个小时省下来的时间就是那四倍左右。如果连复制粘贴这一步都嫌多余把settings.json里script_server改成true保持程序在后台跑浏览器里点脚本菜单的推送下载任务链接直接发给程序自己下命名和格式全按程序配置执行。不想敲命令还有三个入口图形界面是uv run main.py不加参数直接进的粘贴链接点下载作品文件即可内置读取剪贴板复制链接后按一下就能读进来不用手动粘贴底部快捷键Q退出、S设置、R查下载记录设置界面和settings.json的字段一一对应不习惯改 JSON 的直接点选python main.py api起一个本地服务浏览器打开http://127.0.0.1:5556/docs能看到交互式接口文档核心接口是POST /xhs/detail传url加download: true就能在代码里下单仓库根目录的example.py给了不经过服务、直接调XHS类的示例参数注释很全想定制逻辑从它改起。python main.py mcp则是把同样的能力包成 MCP 服务http://127.0.0.1:5556/mcp在支持 MCP 的 AI 客户端里配上地址和启动时输出的鉴权令牌就能用对话方式让助手查作品信息、下文件请求与下载的核心逻辑在 source/application/ 目录命令行参数定义在 source/CLI/main.py想看懂程序怎么挑源、怎么断点续传顺着这两个入口看就行。几个新手真会碰到的问题不配置 Cookie 到底行不行行。大部分功能不依赖 Cookie 也能跑唯一实质差别是视频只能拿低分辨率版本所以要不要配取决于你下不下视频。下载过的作品会重复下载吗默认不会。下载成功的作品 ID 会记进Volume/ExploreID.db再遇到相同链接直接跳过想强制重新下把库里对应记录删掉即可。批量下几百条会不会有风控问题程序内置请求延时机制正常批量使用问题不大。但用户脚本里的自动滚动页面功能默认是关闭的开启后会快速滚动加载这种行为有被平台判定为自动化操作的风险我那次是手动滚动几次页面再提取稳妥一点。另外作品链接自带日期信息隔太久再用旧链接可能触发风控建议每次用最新提取的链接。和浏览器长截图、录屏差多少长截图是像素级的放大就糊程序下的是服务器原始文件图片按你指定的格式存视频取高清源livePhoto 这类动图也支持。差距主要在批量上一条命令和手动逐条保存不是同一个量级。我的建议别急着研究参数先从收藏夹里挑一条笔记用上面第一条命令下下来感受一下一条命令换一组本地文件的手感顺手了再回头走批量那部分——那才是这个工具真正省时间的地方。【免费下载链接】XHS-Downloader小红书XiaoHongShu、RedNote链接提取/作品采集工具项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考