小红书笔记采集,最难的不是抓数据,是让它滚动加载。
搜索结果页只显示前几条,不滚动到底部,根本拿不到完整列表。我用影刀RPA做小红书采集时,一开始就是卡在这里。
其实核心就三步:搜索关键词、循环滚动、提取数据。
下面把完整流程拆开讲,新手跟着做就能跑通。
搜索关键词与页面加载的等待策略
场景:打开小红书搜索页,输入关键词后等待笔记列表加载。
方法:用“打开网页”+“输入文本”+“等待元素出现”组合。
操作步骤:
- 在右侧指令面板搜索“打开网页”,URL填
https://www.xiaohongshu.com/search_result?keyword=关键词
2. 加“等待元素出现”,捕获笔记列表的第一个笔记卡片
- 超时设30秒,元素出现说明搜索完成
# 捕获元素:小红书搜索结果第一个笔记卡片
//section[contains(@class,'note-item')][1]

# 等待这个元素出现,说明搜索结果已加载
# 影刀RPA的“等待元素出现”指令,超时30秒
注意:小红书搜索页需要登录态,提前在浏览器管理里配置好Cookie。
循环滚动加载的三种实现方式
场景:搜索结果页只显示20条,需要不断滚动才能加载更多。
方法:用“循环条件”+“滚动页面”+“等待元素出现”组合。
操作步骤:
- 循环条件设为“判断元素是否存在”,判断“加载更多”或页面底部
- 循环体内先执行“滚动到页面底部”
- 再加“等待时间”2秒,给加载留时间
- 设置最大循环次数30次,防止死循环
| 方式 | 指令 | 适用场景 |
|---|
| 循环条件 | 循环条件 | 不确定滚动次数 |
| 固定次数 | 循环指定次数 | 已知大概页数 |
| 滚动到底 | 滚动页面 | 简单场景 |
影刀RPA的“滚动页面”指令在鼠标键盘面板里,选择“滚动到页面底部”。
提取笔记数据的XPath定位技巧
场景:滚动加载完成后,批量提取笔记标题、作者、点赞数。
方法:用“获取相似元素列表”指令,配合XPath模糊匹配。
# 捕获元素:小红书笔记标题(class带随机后缀)
//section[contains(@class,'note-item')]//a[contains(@class,'title')]
# 捕获元素:笔记作者昵称
//section[contains(@class,'note-item')]//span[contains(@class,'name')]
# 捕获元素:笔记点赞数
//section[contains(@class,'note-item')]//span[contains(@class,'like')]
# 用“获取相似元素列表”指令,一次性拿到所有笔记的标题
# 输出变量:title_list,再循环遍历写入表格
避坑:小红书的class名经常变,用contains模糊匹配,不要用绝对路径。
批量采集的完整流程结构
把上面的内容串起来,影刀RPA里的流程是这样的:
1. 打开小红书搜索页
2. 等待笔记列表出现
3. 循环条件(条件:页面底部还有“加载更多”)
├─ 3.1 滚动到页面底部
├─ 3.2 等待2秒
└─ 3.3 判断是否出现新笔记
4. 获取相似元素列表(标题、作者、点赞)
5. 循环列表,逐条写入Excel
6. 保存Excel
重点:第3步的循环条件要加最大次数限制,比如30次。小红书有时会无限加载,不限制会卡死。
常见问题速查
| 问题 | 原因 | 解决 |
|---|---|---|
| 滚动后数据不更新 | 页面没加载完 | 加“等待元素出现” |
| 采集到重复数据 | 滚动位置没变 | 记录已采集的笔记ID |
| 登录态失效 | Cookie过期 | 重新配置浏览器Profile |
| 社区版额度不够 | 30分钟/天 | 分批采集,先调试再跑 |
| 元素定位失败 | class名变了 | 改用contains模糊匹配 |
Q:魔法指令能生成小红书采集流程吗?
A:影刀3.0的魔法指令可以对话式生成,但生成后要自己调XPath和等待时间。
Q:多关键词采集怎么做?
A:把关键词做成列表,外层套“循环列表”,内层放滚动采集流程。
推荐资源
- 影刀RPA官方学院“小红书自动化”专题课,免费
- 影刀社区搜索“小红书采集”,有现成模板可下载
- Chrome插件XPath Helper,实时验证XPath
#影刀RPA #RPA自动化 #小红书采集 #批量采集 #元素定位
作者:林焱
本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。
