小红书批量下载实战:一条命令把作品存成本地文件

发布时间:2026/11/4 2:16:13
小红书批量下载实战:一条命令把作品存成本地文件

小红书批量下载实战:一条命令把作品存成本地文件

【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader

XHS-Downloader 是一款开源的小红书采集工具,解决的核心问题是:作品怎么从网页变成你硬盘上的文件。它把小红书下载拆成两步——先在浏览器里提取作品链接,再交给本地程序存成高清图文或视频,单条、批量、接口调用都支持。下面按三个问题递进讲,你可以直接照做。

❓ 一条作品链接,能不能直接存成本地文件?

两条命令装好运行环境

项目要求 Python 3.12 及以上版本。如果你装了uv,准备过程只有两条命令:

git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader cd XHS-Downloader && uv sync --no-dev && uv run main.py

第一条把仓库拉到本地,第二条依次完成装依赖、启动程序。不想碰命令行的话,可以去 Releases 页面拿现成的压缩包,解压后双击main即可,Windows 和 macOS 都有。

单链接下载与图集挑图

复制一条作品链接(https://www.xiaohongshu.com/explore/作品ID?xsec_token=XXX这类格式都支持),然后:

python main.py --url "https://www.xiaohongshu.com/explore/作品ID?xsec_token=XXX"

链接必须整体放在引号里。程序会自己解析信息、下载文件,并在终端打印作品标题、类型和保存位置。图文默认存 JPEG,视频会挑分辨率最高的源。

图集里只要其中几张?用--index挑:

python main.py --url "图文作品链接" --index "1 3 5" # 只下第 1、3、5 张 python main.py --url "链接A 链接B 链接C" # 不设 index 时可批量传多个链接

注意:一旦设置了--index,一次命令只处理一个作品链接;不设它,才可以一条命令塞多个链接,程序会自动过滤出有效部分。

视频不高清?补一个 Cookie 配置

如果你发现视频总是糊的,多半是没配 Cookie。不配也能下,但视频会被限制在低分辨率;配上之后能拿到高清源文件,而且整个过程不需要登录账号。

获取路径:浏览器打开小红书 → 按F12进开发者工具 → 切到"网络"选项卡并勾选"保留日志" → 过滤cookie-name:web_session→ 点开任意作品,从请求里复制完整 Cookie。

拿到后写进Volume/settings.json(首次运行自动生成),之后每次下载自动带上。这个文件还能改下载格式:image_format支持 JPEG、WEBP、PNG、HEIC、AUTO,改完重启生效。

📦 账号的发布/收藏/点赞作品,能不能整体搬下来?

用浏览器用户脚本两分钟提取链接

手动复制几百条链接不现实,仓库里现成备好了用户脚本static/XHS-Downloader.js。装法:

  1. 浏览器安装 Tampermonkey(篡改猴)扩展
  2. 扩展面板选"从 URL 安装",填入脚本地址
  3. 刷新小红书页面

装好后在任意小红书页面点脚本菜单,"提取发布作品链接""提取点赞作品链接""提取收藏作品链接"都在里面。点一下,脚本滚动加载并把全部链接整理进剪贴板。

批量下载命令与文件命名规则

把剪贴板里的链接整段交给程序,再指定存哪、怎么命名:

python main.py --url "链接A 链接B ..." --work_path "./my_downloads" --name_format "发布时间 作者昵称 作品标题"

--work_path定保存根目录,--name_format支持按发布时间、作者、标题、作品 ID、点赞数等字段自由拼文件名,整理素材库很好用。想让每个作品单独占一个文件夹,加--folder_mode true;想让每位作者各自一个文件夹,加--author_archive true。

脚本直连推送后台,省掉手动复制

嫌"复制—粘贴—跑命令"还是麻烦,可以把脚本和程序串起来:在Volume/settings.json里把script_server设为true,让程序在后台常驻,浏览器里点脚本菜单的"推送下载任务",链接就直接进程序开下。命名、格式全部按程序配置走,你只管点一下。

🖥 不想敲命令行,或想接进自己的工具链?

图形界面:粘贴即下载

uv run main.py默认进入图形界面。粘贴链接、点"下载作品文件"就完事,内置"读取剪贴板":复制好链接回来按一下即可读取。底部快捷键Q退出、U检查更新、S设置、R查看下载记录,设置项与settings.json一一对应,不习惯改 JSON 的人可以直接点选。

API 模式:把下载能力变成本地接口

想脚本化调用,跑python main.py api,然后访问http://127.0.0.1:5556/docs看自动生成的交互式文档。核心接口是POST /xhs/detail,最小示例:

from httpx import post data = { "url": "https://www.xiaohongshu.com/explore/作品ID?xsec_token=XXX", # 必填 "download": True, # 是否同时下载文件 "index": [1, 3, 5], # 图集只下这几张,可选 } post("http://127.0.0.1:5556/xhs/detail", json=data, timeout=30)

仓库里的example.py则是跳过服务、直接在代码里调XHS类的写法,参数注释齐全,定制逻辑可以从它改起。请求与下载的核心逻辑在 source/application/,想看实现可以顺进去。

MCP 模式:让 AI 助手替你采集

跑python main.py mcp,在支持 MCP 的客户端里加一个 streamable HTTP 服务,地址填http://127.0.0.1:5556/mcp/:

配好后,AI 助手就能直接帮你"查这篇作品的信息""下载这个作品的文件",采集能力变成对话里的一个工具。

💬 先回答你可能想问的

不配置 Cookie 真的能用吗?能,大部分功能不依赖它。差别主要在视频清晰度——不配只给低分辨率版本。

下载过的作品会重复下吗?默认不会。成功的作品 ID 会记进Volume/ExploreID.db,再遇到同链接自动跳过;想强制重下,去这个数据库里删掉对应记录即可。

批量下几百条会被平台盯上吗?程序内置请求延时,会控制频率,正常使用问题不大。

提醒:作品链接里带日期信息,隔太久再用旧链接可能触发风控,建议用最新提取的链接。另外脚本里的"自动滚动页面"默认是关闭的,开启后快速滚动加载的行为可能被平台判定为自动化操作,风险自担。

和长截图、录屏比差别在哪?截图是像素级的,放大就糊;这里下的是服务器原始文件,图片按你指定的格式存,视频取高清源,还支持 livePhoto 这类动图格式。

🎯 适合谁用,第一步做什么

需要持续沉淀小红书素材的人——内容创作者、盯竞品的运营、要样本数据的分析师,以及只想把收藏夹搬回本地的普通用户——都绕不开"提取链接 + 落盘文件"这两步。建议你先别研究全部参数:从收藏夹挑一条笔记,用命令行下下来,感受一下一条命令换一个本地文件的流程;跑顺之后,再回头配批量提取和后台推送。

【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考