自2024年3月小红书启动新一轮UI改版以来,用户发现传统批量下载工具频繁出现链接失效、视频无法解析等问题。此次改版不仅调整了视频播放界面的互动按钮布局,更重构了内容加载逻辑,导致部分旧版采集工具无法正常获取数据。针对这一痛点,开源工具XHS-Downloader通过持续迭代,已实现与新版小红书UI的深度兼容,成为创作者和运营人员的高效解决方案。

一、新版小红书UI改版的核心变化
1. 视频播放界面重构
互动按钮从底部移至右侧,新增「好」功能(类似视频号的「在看」),同时调整了分享入口位置。这一改动导致旧版工具通过CSS选择器定位元素的方式失效,需重新解析DOM结构。
2. 内容加载机制升级
采用动态分页加载技术,用户滚动时实时请求数据,而非传统的一次性加载全部内容。这要求下载工具具备实时监听网络请求的能力。
3. 反爬机制强化
新增请求频率限制和签名验证,直接通过URL抓取内容的方式易触发403错误,需模拟真实用户行为进行数据采集。
二、XHS-Downloader的兼容性解决方案
作为专为小红书设计的开源工具,XHS-Downloader通过以下技术实现与新版UI的无缝对接:
1. 智能链接解析引擎
支持新版作品详情页链接(如`https://www.xiaohongshu.com/explore/作品ID`)、发现页链接、用户主页作品链接等12种格式。通过正则表达式匹配和API接口双重验证,确保链接提取准确率达99.7%。
2. 动态内容采集模块
基于Selenium WebDriver模拟浏览器行为,自动处理滚动加载、弹窗验证等交互逻辑。例如,在采集用户主页内容时,工具会智能判断是否需要点击「查看更多」按钮。
3. 高清视频下载优化
通过配置小红书Cookie(非强制但推荐),可解锁1080P高清视频下载权限。工具内置Cookie管理功能,支持从浏览器开发者工具中一键复制粘贴。
4. 元数据完整保存
除下载图片/视频文件外,还会自动抓取作品标题、发布时间、作者昵称、点赞数等20余项数据,生成结构化的JSON文件,便于后续分析。
三、三步实现高效批量下载
步骤1:环境配置
- 下载最新版XHS-Downloader(项目地址:https://gitcode.com/gh_mirrors/xh/XHS-Downloader)
- 安装依赖:`uv sync --no-dev`
- 推荐使用Docker部署:`docker pull joeanamier/xhs-downloader`
步骤2:链接获取与准备
- 网页版:在小红书作品页面按F12打开开发者工具,复制`Network`面板中`web_session`请求的URL
- 移动端:通过「分享」按钮生成短链接,使用工具内置的短链接解析功能
- 支持批量导入:将多个链接保存为TXT文件,每行一个链接
步骤3:启动下载任务
- 图形界面模式:双击运行`main.py`,粘贴链接后点击「下载」
- 命令行模式:
```bash
下载单个作品
python main.py --url "https://www.xiaohongshu.com/explore/作品ID"
批量下载(支持500+链接)
python main.py --url "链接1 链接2 链接3" --thread 10
指定保存路径和命名格式
python main.py --url "作品链接" --work_path "./小红书素材" --name_format "发布时间_作者_标题"
```
- 浏览器脚本模式:安装Tampermonkey扩展后,添加XHS-Downloader用户脚本,在作品页面直接点击「一键下载」
四、高级功能应用场景
1. 竞品分析自动化
运营团队可设置定时任务,每天自动下载指定博主的最新10条内容,通过分析点赞数、评论热词等数据,生成竞品策略报告。
2. 灵感素材库建设
创作者可使用`--tag`参数按话题标签下载内容(如`--tag "美妆教程"`),工具会自动创建以标签命名的文件夹进行分类存储。
3. 跨平台内容分发
通过API模式(启动命令:`python main.py api`),可将小红书内容同步至抖音、B站等平台。调用示例:
```python
import requests
response = requests.post("http://127.0.0.1:5556/xhs/detail", json={
"url": "作品链接",
"download": True,
"convert_to_mp4": True 转换为通用视频格式
})
```
五、常见问题解决方案
Q1:下载的视频带有水印怎么办?
A:在配置文件`settings.json`中设置`"watermark_remove": true`,工具将自动调用无水印解析接口(需确保Cookie有效)。
Q2:如何避免IP被封禁?
A:建议配置代理IP(参数:`--proxy "http://127.0.0.1:10808"`),并设置`--delay 2`在请求间添加2秒延迟。
Q3:如何下载LivePhoto动态图片?
A:在链接后添加`?type=live`参数(如`https://www.xiaohongshu.com/explore/作品ID?type=live`),工具会自动识别并下载HEIC格式的动态文件。
通过XHS-Downloader的兼容性升级,用户无需再为小红书界面改版而困扰。无论是个人创作者还是企业运营团队,均可通过这一工具实现内容采集的自动化与智能化,将更多精力投入到内容创作本身。