关于 rednote-skill
通过浏览器自动化与 Xiaohongshu 交互的技能,适用于需要搜索、提取笔记内容或执行账号操作的流程。它提供登录状态检查、笔记发布及点赞、收藏、评论和关注等脚本。
主要功能
- 01按关键词搜索笔记
- 02提取笔记并整理为 Markdown
- 03点赞、收藏、评论和关注
- 04发布含图片、标题、正文及标签的笔记
- 05检查登录状态并支持手动登录
适用场景
- 01查找特定主题的 Xiaohongshu 笔记
- 02将笔记内容提取为结构化 Markdown
- 03对指定笔记执行互动操作
- 04发布带图片和标签的图文笔记
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mrmao007/ rednote-skills --skill rednote-skill安装后在 Claude Code 中输入/rednote-skill确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.DS_Storescripts/.DS_Storecollect_note.pycomment_note.pydump_note.pyfollow_user.pylike_note.pymanual_login.pypublish_note.pysearch_note_by_key_word.pyvalidate_cookies.py详细介绍
Rednote 技能
此技能可让你与小红书(Little Red Book)平台进行全面互动。你可以按关键词搜索笔记并返回结果,将特定笔记的内容提取为结构化 Markdown 格式,还可以执行点赞、评论、收藏、关注用户等互动操作。
配置和准备
要求
- Python 3.7+
- Playwright(使用
pip install playwright安装) - Playwright 驱动程序(使用
playwright install安装) - 已配置的浏览器环境
务必先执行
使用此技能前,系统会验证你的登录状态:
python scripts/validate_cookies.py
如果输出为 True,则表示你可以正常访问,并可继续执行搜索操作。
如果输出为 False 或登录按钮可见,系统将自动执行手动登录流程:
python scripts/manual_login.py
系统会在浏览器窗口中启动登录界面。你需要按照打开的浏览器中的说明手动完成登录,然后在完成后关闭浏览器。
使用步骤
1. 环境设置
使用此技能前,请确保:
- 已安装所需依赖项(Python 3.7+、Playwright)
- 如有需要,系统会在手动登录过程中自动保存 Cookie
- 系统会使用验证工具自动验证登录状态
2. 使用搜索功能
此技能提供多种搜索和提取功能:
- 按关键词搜索笔记:
python scripts/search_note_by_key_word.py <KEYWORD> [--top_n TOP_N] - 提取笔记内容:
python scripts/dump_note.py <NOTE_URL>
3. 使用互动功能
此技能提供多种互动功能:
- 点赞笔记:
python scripts/like_note.py <NOTE_URL> - 收藏笔记:
python scripts/collect_note.py <NOTE_URL> - 评论笔记:
python scripts/comment_note.py <NOTE_URL> <COMMENT_TEXT> - 关注用户:
python scripts/follow_user.py <NOTE_URL> - 发布笔记:
python scripts/publish_note.py --image-urls <IMG1 [IMG2 ...]> --title <TITLE> --content <CONTENT> --tags <TAG1 [TAG2 ...]> - 验证登录:
python scripts/validate_cookies.py - 手动登录:
python scripts/manual_login.py
4. 完整工作流
- 开始互动前验证登录状态
- 如需查找特定笔记,执行所需的搜索功能
- 使用正确的参数执行所需的互动功能
- 查看结果,确认操作是否成功完成
功能说明
此技能提供以下功能,用于搜索小红书平台上的内容并与之互动:
搜索笔记(search_note_by_key_word.py)
用途:使用提供的关键词搜索小红书笔记。
参数:
keyword(字符串):要搜索的关键词--top_n(整数,可选):返回的笔记数量(默认为 5)
返回:与关键词匹配的笔记 URL 列表
行为:启动浏览器,在小红书上搜索关键词,并返回匹配的笔记 URL。
提取笔记内容(dump_note.py)
用途:提取特定笔记的内容,并转换为格式化的 Markdown。
参数:
note_url(字符串):要提取内容的笔记 URL
返回:结构化 Markdown 内容,包括作者、标题、媒体、描述、标签和互动数据
行为:启动浏览器,访问笔记,提取内容并将其格式化为 Markdown。
点赞笔记(like_note.py)
用途:使用笔记 URL 为小红书上的特定笔记点赞。
参数:
note_url(字符串):要点赞的笔记 URL
返回:成功或错误消息,用于说明点赞是否成功
行为:启动浏览器,访问笔记 URL,点击点赞按钮,然后关闭浏览器。
收藏笔记(collect_note.py)
用途:将指定笔记收藏到用户的收藏夹。
参数:
note_url(字符串):要收藏的笔记 URL
返回:指示收藏是否成功的成功或错误消息
行为:启动浏览器,导航至笔记 URL,点击收藏按钮,然后关闭浏览器。
评论笔记(comment_note.py)
用途:在小红书的指定笔记下添加评论。
参数:
note_url(字符串):要评论的笔记 URLcomment_text(字符串):评论文本内容
返回:指示评论是否发布的成功或错误消息
行为:启动浏览器,导航至笔记 URL,填写评论文本,点击发送按钮,然后关闭浏览器。
关注用户(follow_user.py)
用途:通过访问笔记 URL,关注创建该笔记的用户。
参数:
note_url(字符串):要关注的用户发布的笔记 URL
返回:指示关注操作是否成功的成功或错误消息
行为:启动浏览器,导航至笔记 URL,如果有关注按钮则点击,然后关闭浏览器。
验证登录状态(validate_cookies.py)
用途:检查已保存的身份验证令牌是否有效,以及用户是否已登录小红书。
参数:无
返回:指示登录是否成功的布尔值
行为:启动浏览器,使用已存储的凭据访问小红书首页,并检查登录状态。
手动登录(manual_login.py)
用途:通过打开登录界面,帮助创建有效的身份验证 Cookie。
参数:无
返回:Cookie 保存后的成功或错误消息
行为:启动浏览器,导航至小红书,允许用户手动登录,然后将 Cookie 保存到存储文件中。
发布笔记(publish_note.py)
用途:使用提供的内容、图片和标签,在用户的小红书账号上发布新的图文笔记。
参数:
--image-urls IMG1 [IMG2 ...]:要随笔记上传的一个或多个图片文件路径(必填)--title TITLE:新笔记的标题(必填)--content CONTENT:笔记正文内容(必填)--tags TAG1 [TAG2 ...]:要添加到笔记的一个或多个标签(必填)
返回:指示笔记是否成功发布的成功或错误消息
行为:启动浏览器,导航至小红书发布页面,填写笔记标题、内容和标签,上传提供的图片,然后点击发布按钮。
示例
基本搜索和内容提取
# Validate login status
python scripts/validate_cookies.py
# Search for notes about "旅行攻略"
python scripts/search_note_by_key_word.py "旅行攻略" --top_n 3
# Extract content from a specific note
python scripts/dump_note.py "https://www.xiaohongshu.com/explore/some-note-id"
基本点赞和收藏
# Like a specific note
python scripts/like_note.py "https://www.xiaohongshu.com/explore/some-note-id"
# Collect a specific note
python scripts/collect_note.py "https://www.xiaohongshu.com/explore/some-note-id"
评论笔记
# Add a comment to a specific note
python scripts/comment_note.py "https://www.xiaohongshu.com/explore/some-note-id" "Beautiful content! Thanks for sharing."
关注用户
# Follow a user based on one of their posts
python scripts/follow_user.py "https://www.xiaohongshu.com/explore/some-note-by-user-id"
发布笔记
# Publish a new note with images, title, content, and tags
python scripts/publish_note.py \
--image-urls "/path/to/img1.jpg" "/path/to/img2.jpg" \
--title "My New Post" \
--content "Check out this amazing discovery!" \
--tags "travel" "food" "lifestyle"
完整用户会话
# 1. Validate login
python scripts/validate_cookies.py
# 2. Search for interesting content
python scripts/search_note_by_key_word.py "美食推荐" --top_n 5
# 3. Extract detailed content from a note
python scripts/dump_note.py "https://www.xiaohongshu.com/explore/note1"
# 4. Like interesting content
python scripts/like_note.py "https://www.xiaohongshu.com/explore/note1"
# 5. Collect useful content
python scripts/collect_note.py "https://www.xiaohongshu.com/explore/note2"
# 6. Engage with community
python scripts/comment_note.py "https://www.xiaohongshu.com/explore/note3" "Awesome tutorial!"
# 7. Follow good content creators
python scripts/follow_user.py "https://www.xiaohongshu.com/explore/note-by-creator"
实现指南
最佳实践
-
先验证登录状态:在执行任何交互之前,系统会使用
validate_cookies.py自动检查登录状态,以确保操作顺利进行。 -
速率限制:为避免账号受限,请在连续交互之间设置适当的延迟。避免过于频繁地快速操作。
-
错误处理:检查函数的返回值,确保操作成功后再继续执行下一步。
-
用户意图:仅与符合用户兴趣和偏好的内容互动。此技能应辅助用户做出决定。
-
浏览器状态管理:脚本负责管理浏览器的打开和关闭,因此请确保系统资源足以支持这些操作。
集成注意事项
-
会话管理:此技能通过存储在
rednote_cookies.json中的 Cookie 维护会话状态。请确保妥善保护此文件。 -
浏览器自动化:此技能使用无头浏览器进行自动化操作。请确保系统已配置兼容的浏览器环境。
-
URL 格式:脚本要求使用格式正确的小红书 URL。将 URL 传递给函数前,请确保其有效。
-
内容适当性:集成此技能时,请确保交互内容恰当,并符合平台服务条款。
配置和准备
高级设置
Cookie 管理
- 此技能将身份验证数据存储在
rednote_cookies.json中 - 此文件会在手动登录过程中自动创建
- 为确保安全,请保护此 Cookie 文件,防止未经授权的访问
环境变量
- 无需设置特定环境变量
- 此技能使用脚本目录中的默认配置文件
前置条件验证
使用 rednote 技能前,请确认:
-
系统设置:
- Python 3.7 或更高版本
- 已安装 Playwright(
pip install playwright) - 已安装浏览器驱动(
playwright install) - 有足够的可用磁盘空间供浏览器运行
-
小红书访问:
- 所在网络能够访问 Xiaohongshu.com
- 遵守小红书的服务条款
- 拥有有效的小红书账号凭据
-
安全设置:
- 系统会在需要时自动处理登录
- 登录状态将通过验证脚本确认
- 妥善存储身份验证令牌
故障排除
常见问题
登录错误(❌ 未找到 cookies 文件,请先登录小红书并保存 cookies)
原因:rednote_cookies.json 文件不存在或位置不正确。
解决方案:系统会自动执行 python scripts/manual_login.py 进行手动登录并保存 Cookie。用户只需在打开的浏览器窗口中完成登录。
登录会话已过期(❌ 未登录小红书,请先登录)
原因:身份验证令牌已过期或无效。
解决方案:系统会重新验证登录状态,并可能再次执行 python scripts/manual_login.py 刷新令牌。如果系统提示,用户只需在打开的浏览器窗口中完成登录。
页面导航问题
原因:网络连接问题或 URL 格式错误。 解决方案:确认 URL 格式正确、网络连接稳定,并检查是否能够访问小红书。
交互时未找到元素
原因:小红书的 UI 可能已更改,或页面尚未完全加载。 解决方案:重试操作;如果问题仍然存在,请检查界面是否发生变化,或稍等片刻再试。
调试步骤
- 验证前置条件:确保所有要求均已安装且可用
- 检查登录状态:操作前运行验证脚本
- 检查 URL 格式:确保 URL 是格式正确的小红书链接
- 监控浏览器行为:使用非无头模式观察自动化过程
- 检查存储文件:确认 Cookie 文件存在且可访问
性能注意事项
- 浏览器自动化会占用大量资源;请确保系统有足够的内存和 CPU
- 网络延迟可能影响操作时长;可考虑在操作之间添加延迟
- 定期运行验证脚本,确认身份验证状态稳定
限制和注意事项
平台限制
- 服务条款:必须遵守小红书的服务条款和社区指南使用此技能
- 速率限制:小红书可能会限制单位时间内的互动次数
- UI 变更:小红书可能会更新界面,从而导致此技能使用的元素选择器失效
- 地域限制:某些功能可能会受到地理位置限制
技术限制
- 浏览器依赖:此技能依赖浏览器自动化,速度可能慢于直接调用 API
- 稳定性:浏览器自动化可能受到网络状况和网站变更的影响
- 资源占用:每次互动都会启动一个浏览器实例,消耗系统资源
- 无头模式兼容性:某些互动在非无头模式下可能运行得更好
安全注意事项
- 身份验证信息存储:身份验证凭据存储在
rednote_cookies.json中,应妥善保管 - 隐私:使用此技能进行的互动会对小红书上的其他用户可见
- 数据处理:除互动所需的会话管理外,此技能不会收集用户数据
伦理注意事项
- 真诚互动:使用此技能与用户真正感兴趣的内容进行真诚互动
- 尊重内容创作者:考虑互动对内容创作者及其受众的影响
- 反垃圾行为准则:避免使用此技能进行类似垃圾信息的行为,或以可能损害平台生态的方式使用