一、项目简介
本项目是一个基于RPA技术的小红书笔记信息获取工具,旨在帮助用户快速、批量地收集小红书平台上的笔记信息。通过输入关键词,工具可以自动搜索相关笔记,并提取笔记的标题、内容、标签、点赞数、评论数、收藏数、发布时间、发布地点等信息,同时还能获取笔记的评论内容并保存到Excel文件中,方便用户进行数据分析和市场调研。
二、项目结构
// 项目根目录结构
├── .sz/ # 项目配置文件
├── customConfig/ # 自定义配置
├── extensions/ # 扩展插件
├── log/ # 日志文件
├── private/ # 私有DLL和组件
├── projects/ # 项目代码
│ ├── child_modules/ # 子模块
│ ├── flow_modules/ # 流程模块
│ ├── gpt_modules/ # GPT模块
│ ├── old_custom_components/# 旧版自定义组件
│ ├── flow.py # 主流程控制
│ ├── global_data.py # 全局数据
│ └── rpaRoot.py # 根模块
├── res/ # 资源文件
├── main.sz # 主入口文件
├── config.json # 配置文件
└── szrpa.json # 项目元数据
三、项目特点和核心代码
1. 自动搜索与页面加载
工具能够自动打开小红书网页,输入关键词进行搜索,并等待页面加载完成。
// 代码片段来自 projects/flow_modules/65Min.py
网页对象 = WebBrowser.Create(SZEnv['rpa'], "chrome", "https://www.xiaohongshu.com/search_result?keyword={}&source=web_user_page".format(待搜索关键词), 0, "", "61619", 1, var_ret=0, delay_before_new=0.2, delay_after_new=0.05, timeout_new=30, skip_err=0, log_exc=1, var_names=["网页对象"], _position=("65Min","e68WK","小红书笔记信息获取","打开网页","7","WebBrowser.Create"))
操作结果 = WebBrowser.Wait(SZEnv['rpa'], 网页对象, var_ret=0, delay_before_new=0.2, delay_after_new=0.05, timeout_new=30, exc_retry=1, retry_count=3, retry_interval=1, skip_err=0, log_exc=1, var_names=["操作结果"], _position=("65Min","s26VV","小红书笔记信息获取","等待网页加载","8","WebBrowser.Wait"))
2. 笔记信息提取
工具能够提取笔记的各种信息,包括标题、内容、标签、点赞数等。
// 代码片段来自 projects/flow_modules/65Min.py
执行返回结果 = WebBrowser.RunJsInIeBySelector_v1(SZEnv['rpa'], elementsFormatNew(SHIZAI_ELEMENT_DICT["5ilJR"]["selector"]), child_ele_eval("网页对象['type']"), """function(){
let dataList = [["评论人","评论内容","评论时间","评论地点","主评/追评"]];
let commentList = document.querySelectorAll("[class*=comments-container]>[class*=list-container]>[class*=parent-comment]");
for(let idx=0;idx<commentList.length;idx++){
let author = commentList[idx].querySelector("[class*=comment-item]").querySelector("[class*=author]>a").innerText;
let content = commentList[idx].querySelector("[class*=comment-item]").querySelector("[class*=content]").innerText;
let date = commentList[idx].querySelector("[class*=comment-item]").querySelector("[class*=info]>[class*=date]>span:nth-child(1)").innerText;
let address = commentList[idx].querySelector("[class*=comment-item]").querySelector("[class*=info]>[class*=date]>span:nth-child(2)").innerText;
let commentType = "主评";
dataList.push([author,content,date,address,commentType]);
// ... 追评处理代码 ...
}
return dataList;
}""", [], var_ret=0, delay_before_new=0.2, delay_after_new=0.05, skip_err=0, log_exc=1, var_names=["执行返回结果"], _position=("65Min","DMbfk","小红书笔记信息获取","执行JS","89","WebBrowser.RunJsInIeBySelector_v1"))
3. 数据保存到Excel
工具能够将提取的笔记信息和评论信息保存到Excel文件中,方便用户进行数据分析。
// 代码片段来自 projects/flow_modules/65Min.py
if not File.FileExists(SZEnv['rpa'], 下载文件完整路径, delay_before_new=0, delay_after_new=0, _position=("65Min","NABa2","小红书笔记信息获取","判断文件存在","99","File.FileExists")):
Excel文件 = Excel.Cs_NewV4(SZEnv['rpa'], "", 下载文件完整路径, "默认", 0, 1, 0, var_ret=0, delay_before_new=0, delay_after_new=0, exc_retry=0, retry_count=1, retry_interval=1, skip_err=0, log_exc=1, var_names=["Excel文件"], _position=("65Min","mXCLv","小红书笔记信息获取","新建Excel","100","Excel.Cs_NewV4"))
Excel文件 = Excel.Cs_OpenV4(SZEnv['rpa'], 下载文件完整路径, "默认", 0, 1, "", "", 0, 0, var_ret=0, delay_before_new=0, delay_after_new=0, exc_retry=0, retry_count=1, retry_interval=1, skip_err=0, log_exc=1, var_names=["Excel文件"], _position=("65Min","voQc1","小红书笔记信息获取","打开Excel","101","Excel.Cs_OpenV4"))
// ... 写入数据代码 ...
四、适用场景
- 市场调研:通过获取特定关键词的笔记信息,分析市场趋势和用户需求。
- 竞品分析:监控竞争对手的笔记发布情况和用户反馈。
- 内容创作:了解热门话题和用户偏好,指导内容创作方向。
- 品牌监控:监控品牌相关的讨论和评价,及时发现并处理负面信息。
- 电商运营:分析产品相关笔记的用户反馈,优化产品设计和营销策略。
五、常见问题与建议
常见问题
登录问题:工具需要用户提前登录小红书账号,否则无法获取笔记信息。
- 建议:运行工具前,先手动打开Chrome浏览器并登录小红书账号。
页面加载问题:由于网络原因或小红书服务器响应慢,可能导致页面加载超时。
- 建议:检查网络连接,或尝试在网络状况较好的时段运行工具。
数据保存问题:无法保存Excel文件或保存路径不存在。
- 建议:确保选择的保存路径存在且有写入权限,或使用默认的桌面路径。
元素定位失败:由于小红书页面结构变化,可能导致元素定位失败。
- 建议:更新工具到最新版本,或联系开发者进行维护。
建议
- 不要频繁运行工具,避免被小红书平台限制访问。
- 合理设置获取笔记数量,避免一次性获取过多数据导致系统卡顿。
- 定期备份Excel数据,防止数据丢失。
- 遵守小红书平台的使用规则,不要用于非法用途。
六、源码下载
- 应用市场:可在实在智能应用市场搜索"小红书笔记信息获取"进行下载。
- 私聊:联系开发者获取源码和详细使用说明。
七、后续扩展方向
- AI辅助分析:结合AI技术,对笔记内容和评论进行情感分析和关键词提取。
- 定时任务:增加定时运行功能,实现无人值守的数据采集。
- 分布式部署:支持多机分布式运行,提高数据采集效率。
- 反爬机制优化:优化反爬策略,降低被平台限制的风险。
八、相关推荐
- 作者:RPA+AI十二工作室
- CSDN博客:RPA+AI十二工作室-CSDN博客
欢迎关注我的CSDN博客,获取更多RPA自动化开发技巧和项目源码。如有问题或合作意向,可私聊我。
版权声明:本文档内容仅供学习交流使用,未经作者允许,请勿用于商业用途。