影刀RPA 网页评论采集:展开与分页加载
影刀RPA 网页评论采集展开与分页加载作者林焱什么情况用什么采集商品评论、文章评论、视频评论——评论数据通常不在页面源码里而是通过AJAX动态加载还有展开更多按钮和分页。在影刀RPA里需要处理评论展开、滚动加载、API接口抓取等多种方式。适用场景电商商品评论分析、新闻评论舆情监控、视频评论采集、社区帖子回复采集。怎么做方式一通过API接口采集推荐拼多多店群自动化上架方案评论通常通过AJAX加载直接请求API最高效importrequestsimportpandasaspdimporttimedefscrape_comments_api(product_id,max_pages50):通过API采集评论all_comments[]headers{User-Agent:Mozilla/5.0...,Referer:fhttps://example.com/product/{product_id}}forpageinrange(1,max_pages1):# API URL需要通过F12 → Network → XHR找到api_urlfhttps://example.com/api/commentsparams{product_id:product_id,page:page,size:20,sort:newest# newest/hot}responserequests.get(api_url,paramsparams,headersheaders,timeout10)ifresponse.status_code!200:print(f第{page}页请求失败:{response.status_code})breakdataresponse.json()commentsdata.get(data,{}).get(list,[])ifnotcomments:print(f第{page}页无评论停止)breakforcincomments:all_comments.append({用户:c.get(username,),评分:c.get(rating,),内容:c.get(content,),时间:c.get(create_time,),点赞数:c.get(like_count,0),回复数:c.get(reply_count,0),})print(f第{page}页:{len(comments)}条, 累计{len(all_comments)}条)time.sleep(1)returnall_comments# 使用commentsscrape_comments_api(123456,max_pages20)pd.DataFrame(comments).to_excel(rC:\Data\comments.xlsx,indexFalse)方式二影刀浏览器自动化当API接口有加密参数无法直接调用时用浏览器操作【打开网页】→ 商品详情页 【等待元素出现】→ .comment-section 【点击元素】→ 查看全部评论按钮如果有 【循环】 【提取相似元素数据】→ 当前页评论 - 用户名.comment-item .username - 内容.comment-item .content - 时间.comment-item .time - 评分.comment-item .rating 【判断元素是否存在】→ 下一页或加载更多 存在 → 【点击元素】→ 等待新评论加载 不存在 → 退出循环 【等待】2秒 【结束循环】方式三滚动加载评论defscrape_comments_scroll(max_scrolls30):滚动加载评论all_comments[]forscroll_numinrange(max_scrolls):# 1. 提取当前可见的评论# 影刀中【提取相似元素数据】→ .comment-itemcurrent_commentsextract_comments()# 2. 去重合并new_count0forcincurrent_comments:c_idc.get(id)orc.get(内容)[:20]# 用ID或内容前20字做唯一标识ifc_idnotin[existing.get(id)forexistinginall_comments]:all_comments.append(c)new_count1print(f第{scroll_num1}次滚动: 新增{new_count}条, 共{len(all_comments)}条)ifnew_count0:# 连续3次无新评论则停止no_new_countgetattr(scrape_comments_scroll,_no_new,0)1ifno_new_count3:breakscrape_comments_scroll._no_newno_new_countelse:scrape_comments_scroll._no_new0# 3. 滚动到评论区域底部# 影刀中【执行JavaScript代码】js var commentArea document.querySelector(.comment-section); if (commentArea) { commentArea.scrollTop commentArea.scrollHeight; } window.scrollTo(0, document.body.scrollHeight); # 【执行JavaScript代码】→ js# 4. 等待新评论加载time.sleep(2)returnall_commentsdefextract_comments():提取页面评论影刀中用可视化指令# 这里模拟返回return[]评论展开处理有些评论被截断需要点击展开才能看到完整内容defexpand_and_scrape_comments():展开所有评论后采集# 1. 先点击所有展开按钮# 影刀中# 【执行JavaScript代码】js_expand_all // 找到所有展开按钮并点击 var expandBtns document.querySelectorAll(.comment-expand, .show-more); expandBtns.forEach(function(btn) { btn.click(); }); return expandBtns.length; # 影刀中执行这段JS返回展开的评论数# 2. 等待展开time.sleep(1)# 3. 提取完整评论# 【提取相似元素数据】→ .comment-item .full-content# 4. 处理查看更多回复js_expand_replies var replyBtns document.querySelectorAll(.view-replies); replyBtns.forEach(function(btn) { if (btn.textContent.includes(查看)) { btn.click(); } }); time.sleep(1)# 5. 提取含回复的完整评论pass评论数据分析defanalyze_comments(comments_df):评论数据分析importpandasaspd analysis{}# 1. 基础统计analysis[总评论数]len(comments_df)analysis[平均评分]comments_df[评分].mean()# 2. 评分分布rating_distcomments_df[评分].value_counts().sort_index()analysis[评分分布]rating_dist.to_dict()# 3. 评论时间趋势comments_df[日期]pd.to_datetime(comments_df[时间],errorscoerce)daily_countcomments_df.groupby(comments_df[日期].dt.date).size()analysis[日均评论]daily_count.mean()![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b9ae85166dbf40d68627e37852de3ef1.png#pic_center)# 4. 关键词统计fromcollectionsimportCounterimportjieba all_text .join(comments_df[内容].astype(str))wordsjieba.cut(all_text)word_countCounter(wforwinwordsiflen(w)1)analysis[高频词]word_count.most_common(20)# 5. 好评/差评比例goodlen(comments_df[comments_df[评分]4])badlen(comments_df[comments_df[评分]2])analysis[好评率]f{good/len(comments_df)*100:.1f}%analysis[差评率]f{bad/len(comments_df)*100:.1f}%returnanalysis有什么坑TEMU店群如何管理运营坑1API参数加密# 问题评论API的参数有sign签名无法直接构造请求# 如params {sign: a1b2c3..., timestamp: 1234567890}# 解决1用影刀浏览器自动化不直接调API# 【打开网页】→ 【滚动】→ 【提取数据】# 解决2从页面中提取sign# 有些网站在页面HTML中嵌入了token# 先【获取网页源代码】→ 用正则提取token → 再调API# 解决3用浏览器拦截AJAX响应# 影刀中用【执行JavaScript代码】拦截XHR![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/bdbea58e815a49e6b25b067d61b90b4d.png#pic_center)js_intercept var originalOpen XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open function(method, url) { if (url.includes(comment)) { window._comment_api_url url; } return originalOpen.apply(this, arguments); }; 坑2评论内容有HTML标签# 问题评论内容包含br、span等标签# 解决用BeautifulSoup清理frombs4importBeautifulSoupdefclean_comment_text(text):清理评论文本ifnottext:return# 去HTML标签soupBeautifulSoup(text,html.parser)textsoup.get_text(separator ,stripTrue)# 去多余空白text .join(text.split())returntext comments_df[内容]comments_df[内容].apply(clean_comment_text)坑3评论按热度排序时翻页数据不连续# 问题按热度排序翻页时由于点赞数实时变化评论可能跳过或重复# 解决用时间排序采集然后本地按热度排序# 采集时用时间排序params[sort]newest# 而不是hot![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/75577a69fc9d4a3989d81dc166f4548e.png#pic_center)# 本地排序comments_dfcomments_df.sort_values(点赞数,ascendingFalse)坑4评论太多导致内存溢出# 问题一个商品有几万条评论全部加载到内存# 解决分批保存batch_size500forpageinrange(1,max_pages1):commentsscrape_one_page(page)all_comments.extend(comments)# 每500条保存一次iflen(all_comments)batch_size:dfpd.DataFrame(all_comments)# 追加写入Excelwithpd.ExcelWriter(output_file,modea,engineopenpyxl)aswriter:df.to_excel(writer,startrowwriter.sheets[Sheet1].max_row,headerFalse)all_comments[]# 清空坑5评论中有追评/回复# 问题一条评论可能有追评和商家回复结构嵌套# 解决分两层采集# 第一层主评论main_commentssoup.select(.comment-item:not(.reply))forcommentinmain_comments:# 主评论内容main_textsafe_text(comment.select_one(.content))# 追评同一评论块内的追加内容append_textsafe_text(comment.select_one(.append-content))![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9046e333631142ca9788ddadc5207985.png#pic_center)# 商家回复replycomment.select_one(.merchant-reply)reply_textsafe_text(reply.select_one(.reply-content))ifreplyelsedata{主评论:main_text,追评:append_text,商家回复:reply_text}

相关新闻

2026适合新手的AI官网制作软件有哪些?小白们看过来啦!

2026适合新手的AI官网制作软件有哪些?小白们看过来啦!

2026适合新手的AI官网制作软件有哪些?小白们看过来啦!据《2026年中国企业数字化建站行业白皮书》显示,超42%的中小微企业在使用低门槛工具搭建官网后,遭遇了“百度/谷歌长期零收录”或“后期改版被平台卡死”的窘境。某广州初创贸…

2026/7/27 22:47:42阅读更多 →
看过来啦!2026AI建站收费模式有哪些呢?

看过来啦!2026AI建站收费模式有哪些呢?

2026AI建站收费模式都有哪些?这里一文讲透。各位正在琢磨给自己生意安个“线上门面”的老板们可以看过来了,当然,如果已经被各种建站报价单搞得头昏脑涨、不知道选免费还是选几千块年费的老板也可以看过来,今天小编来聊聊AI建站收…

2026/7/26 8:08:04阅读更多 →
影刀RPA 网页滚动控制:滚动到底、滚动到元素、懒加载触发

影刀RPA 网页滚动控制:滚动到底、滚动到元素、懒加载触发

影刀RPA 网页滚动控制:滚动到底、滚动到元素、懒加载触发 作者:林焱 什么情况用 你用影刀RPA采集一个网页,发现只拿到了前几条数据,明明页面上有几十条?你的网页有个"加载更多"按钮,但需要滚动到…

2026/7/28 13:25:06阅读更多 →
物联网硬件安全:SE050与RA6M4的协同防护方案

物联网硬件安全:SE050与RA6M4的协同防护方案

1. 物联网安全现状与硬件级解决方案的必要性在2023年全球物联网连接设备数量突破160亿台的大背景下,安全威胁呈现指数级增长。根据最新行业报告,物联网设备正以每分钟135次的频率遭受网络攻击,其中78%的漏洞源于硬件层面的安全缺陷。传统软件…

2026/7/29 2:38:21阅读更多 →
办公效率升级:Windows 部署 OpenClaw v2.7.9,实现文档与浏览器自动化(含安装包)

办公效率升级:Windows 部署 OpenClaw v2.7.9,实现文档与浏览器自动化(含安装包)

本地 AI 自动化智能体搭建|Windows 图形化部署 OpenClaw v2.7.9 实操指南 ✨核心亮点:可视化图形操作|无需手动搭建运行环境|依赖组件内置集成|支持本地设备运行|内置 28 万 Tokens 使用额度 资源获取链接…

2026/7/29 2:38:21阅读更多 →
MiniMax 开放平台密钥生成 OpenClaw 适配操作全流程(含安装包)

MiniMax 开放平台密钥生成 OpenClaw 适配操作全流程(含安装包)

OpenClaw v2.7.9 对接 MiniMax 大模型完整配置教程 本文详细讲解在 OpenClaw v2.7.9 内接入 MiniMax 大模型的整套操作流程,按照文中步骤依次设置,即可完成接口连通,正常调用对应模型开展对话交互。 一、部署前置条件 本地已完整部署 Open…

2026/7/29 2:38:21阅读更多 →
51单片机数字电子钟设计全解析:从硬件搭建到软件状态机实现

51单片机数字电子钟设计全解析:从硬件搭建到软件状态机实现

1. 项目概述与核心价值最近在整理大学时期的项目资料,翻到了当年数电课设的“51单片机数字电子钟”,感触颇多。这个项目可以说是绝大多数电子、自动化、物联网相关专业学生的“启蒙项目”之一。它麻雀虽小,五脏俱全,几乎涵盖了单片…

2026/7/29 2:38:21阅读更多 →
编译器后端优化:指令选择、寄存器分配与代码生成

编译器后端优化:指令选择、寄存器分配与代码生成

编译器后端优化:指令选择、寄存器分配与代码生成编译器前端完成了词法分析、语法分析及语义分析后,生成的中间表示(IR)将交由后端进行深度的加工与优化,最终转化为能在特定目标机器上高效运行的目标代码。这一过程的核…

2026/7/29 2:38:21阅读更多 →
NBM7100A与STM32C031C6的低功耗物联网设计优化

NBM7100A与STM32C031C6的低功耗物联网设计优化

1. 项目背景与核心挑战在物联网设备和便携式电子产品的设计中,初级电池(不可充电电池)的寿命优化一直是个关键痛点。以CR2032纽扣电池为例,标称容量约220mAh,但实际应用中往往只能达到标称值的60%-70%。这背后涉及三个…

2026/7/29 2:36:20阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/28 4:06:39阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/28 2:08:06阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/28 1:38:28阅读更多 →
28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“! 在构建复杂的 Agent 系统时,我们经常会遇到这样的场景:Agent 正在执行一个多步骤的任务,比如“下单购买商品”,但执行到一半时,我们…

2026/7/29 0:01:46阅读更多 →
自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

近日,国际专注开放式技术研发的声学品牌Nank南卡,正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手?而且是选择曾舜晞?让我们一起来探索一下!比起短期的流量&a…

2026/7/29 0:01:46阅读更多 →
【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:01:46阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/28 20:22:24阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/28 3:17:03阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →