XHS-Downloader用户脚本:浏览器一键提取小红书作品链接与文件
痛点解析:小红书内容下载的3大困境
日常浏览小红书时,用户常面临以下内容获取难题:
| 痛点场景 | 传统解决方案 | 效率瓶颈 |
|---|---|---|
| 无水印素材保存 | 截图+裁剪/第三方工具 | 画质损失/多步骤操作 |
| 批量作品采集 | 手动复制链接+逐个下载 | 重复劳动/耗时严重 |
| 账号内容备份 | 手动记录作品URL | 易遗漏/管理混乱 |
XHS-Downloader用户脚本通过浏览器插件化方案,将内容提取流程从平均8步缩短至2步,实现"浏览即采集"的无缝体验。
技术原理:浏览器脚本的工作机制
核心架构
脚本通过@match规则精准定位小红书页面类型,利用unsafeWindow访问页面全局变量__INITIAL_STATE__,从中提取原始媒体资源URL。对于图片资源,通过正则表达式重构CDN链接:
// 图片URL处理核心代码
const regex = /http:\/\/sns-webpic-qc\.xhscdn.com\/\d+\/[0-9a-z]+\/(\S+)!/;
images.forEach((item) => {
let match = item.urlDefault.match(regex);
if (match && match[1]) {
urls.push(`https://ci.xiaohongshu.com/${match[1]}?imageView2/format/png`);
}
})
视频资源则直接解析originVideoKey字段,构建无水印播放地址:https://sns-video-bd.xhscdn.com/${note.video.consumer.originVideoKey}
安装部署:3步完成脚本配置
前置条件
- 浏览器需安装Tampermonkey(篡改猴)扩展
- 网络环境需可正常访问小红书网页版
安装步骤
-
获取脚本
git clone https://gitcode.com/gh_mirrors/xh/XHS-Downloader或直接访问项目
static目录下载XHS-Downloader.js -
导入脚本
- 打开Tampermonkey仪表板 → 实用工具 → 导入文件
- 选择下载的JS文件完成安装
-
配置参数
// 核心配置项(通过脚本菜单访问) { "packageDownloadFiles": true, // 多图自动打包ZIP "autoScrollSwitch": false, // 自动滚动加载 "maxScrollCount": 50, // 最大滚动次数 "linkCheckboxSwitch": true // 链接选择功能 }
功能详解:从单作品下载到批量采集
1. 作品页面:一键下载无水印文件
在小红书作品详情页(https://www.xiaohongshu.com/explore/*),脚本会自动解析内容类型并提供对应下载选项:
- 图文作品:生成高清PNG图片(支持单张/批量下载)
- 视频作品:直接获取MP4源文件(无平台水印)
下载流程优化:
- 自动截断超长标题(默认64字符)
- 支持序号命名(如"旅行攻略_1.png")
- 多图智能打包(ZIP压缩无压缩损耗)
2. 列表页面:批量提取作品链接
针对不同内容列表场景,提供专业化采集方案:
| 页面类型 | 触发方式 | 采集能力 |
|---|---|---|
| 推荐页 | 点击悬浮按钮"提取推荐链接" | 最大50页滚动加载 |
| 账号页 | 选择"发布/收藏/点赞"分类 | 全量作品获取 |
| 专辑页 | 自动识别专辑结构 | 按专辑组织链接 |
| 搜索页 | 区分"作品/用户"类型 | 精准过滤结果 |
3. 高级功能:自定义工作流
通过设置面板可调整:
- 自动滚动:模拟用户浏览行为加载更多内容
- 链接格式:自定义URL参数(支持API对接)
- 选择下载:通过复选框精确控制需要保存的资源
实战案例:内容创作者的效率提升方案
案例1:自媒体素材管理
场景:美食博主需要收集100篇探店笔记封面图作为灵感参考
传统流程:截图×100 → 裁剪×100 → 重命名×100(约90分钟)
脚本方案:搜索页批量提取 → 筛选下载(约8分钟)
效率提升:91%时间节省 + 原始画质保留
案例2:市场竞品分析
数据采集流程:
通过脚本获取的标准化数据,可直接对接Python数据分析工具:
# 示例:批量下载脚本导出的URL列表
import requests
with open("urls.txt") as f:
for url in f:
response = requests.get(url.strip())
# 后续处理...
常见问题与解决方案
权限相关
Q: 安装时提示"需要访问网站数据"?
A: 脚本需要读取页面数据以提取媒体链接,仅在小红书域名下激活,无隐私数据收集。
技术故障
| 问题现象 | 排查步骤 | 解决方案 |
|---|---|---|
| 按钮不显示 | 1. 检查脚本是否启用 2. 确认页面URL匹配 | 刷新页面/重新安装脚本 |
| 下载失败 | 1. 打开控制台查看错误 2. 检查网络连接 | 重试/清除浏览器缓存 |
| 链接提取为空 | 1. 确认登录状态 2. 检查页面加载完成 | 登录账号/等待页面加载 |
合规提示
- 本工具仅用于个人学习研究,请勿用于商业用途
- 下载内容时请遵守平台版权协议及用户协议
- 建议设置合理的请求间隔,避免给服务器造成负担
扩展应用:构建个人内容管理系统
配合项目主程序可实现完整工作流:
通过脚本提取的链接列表,可直接导入主程序进行批量下载,实现从"发现-采集-管理"的全流程自动化。
安装与更新
获取最新版本
# 定期同步更新
cd XHS-Downloader
git pull origin main
手动更新脚本
- 访问项目
static目录 - 复制
XHS-Downloader.js内容 - Tampermonkey编辑器替换代码
技术规格说明
| 项目 | 详情 |
|---|---|
| 脚本版本 | 2.1.15 |
| 支持浏览器 | Chrome/Edge/Firefox |
| 核心依赖 | JSZip(v3.9.1) |
| 授权协议 | GNU General Public License v3.0 |
| 更新频率 | 平均每季度1-2次功能迭代 |
通过这款轻量级浏览器脚本,用户可突破小红书内容获取的技术限制,实现从"被动浏览"到"主动管理"的体验升级。无论是内容创作者、研究者还是普通用户,都能从中获得效率提升。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



