ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

影刀RPA新手教程:快手数据采集实战——短视频账号数据与作品信息

影刀RPA新手教程:快手数据采集实战——短视频账号数据与作品信息 影刀RPA新手教程快手数据采集实战——短视频账号数据与作品信息认识影刀与安装影刀客户端装好之后确认一件事Chrome版本和影刀内置浏览器版本一致。版本不一致操作快手网页时白屏或元素定位全废。安装路径别带中文别带空格C:/Program Files (x86)/影刀这种路径后面Excel操作、文件下载全报错。装完重启一次电脑影刀有些驱动需要重启才生效。home.linyan.cloud 整理了各平台采集模板快手那个直接导入改URL就能跑。元素定位四合一快手页面的元素定位和B站不同快手重度依赖动态class和React渲染。CSS选择器定位快手粉丝数在.user-info-fans这个元素下但class名每隔几周就变一次。用XPath更稳——粉丝数定位用//span[contains(text(),粉丝)]的父节点下第一个数字span。XPath定位作品列表每条视频卡片用//div[classvideo-item]//span[classplay-count]注意快手有些页面class是自动生成的hash值别硬编码。相似元素组快手作品列表一屏显示6-8条用捕获相似元素框选整个视频卡片区域一次获取所有作品信息。ID定位快手个人主页的唯一标识在URL里快手ID页面内没有固定ID锚点这个方式用不上。踩坑重点快手页面是React SPA元素节点层级嵌套特别深经常7-8层div套div。捕捉元素时影刀默认选到最内层节点校验不稳定。手动在元素编辑器里把中间那些通用div层级去掉只留tag关键属性校验成功率翻倍。另一个坑快手点赞数/评论数这些数据有时候在父元素的title属性里不在文本节点里。用「获取元素属性」取title属性值比「获取元素文本」更靠谱。变量与数据类型快手采集流程需要的核心变量account_url字符串快手账号主页URLaccount_name字符串账号昵称fans_count整数粉丝数原始文本256.3万需转换video_cards列表相似元素组所有视频卡片current_play整数单个作品播放量current_like整数单个作品点赞数current_comment整数单个作品评论数growth_data字典按日期存储的成长数据output_excelExcel对象输出文件快手的数据格式更杂粉丝数有256.3万和1.2亿两种播放量有23.4万和纯数字34521两种混着用。写一个通用数字解析子流程输入原始字符串输出整数。逻辑是判断是否包含万→去除→乘10000判断是否包含亿→去除→乘100000000都不包含直接转整数遇到空值或–返回0。字典growth_data的结构{2024-03-15: {fans: 256300, works_count: 42, avg_play: 12000, avg_like: 800}}。每天跑一次这个流程往字典里追加一条记录用Excel写入不同sheet页就能看出粉丝增长曲线。流程控制主流程逻辑打开浏览器 → 打开快手账号主页获取账号昵称/粉丝数 → 存入变量滚动加载全部作品无限循环条件退出捕获作品相似元素组 → For循环遍历每条作品获取播放量/点赞数/评论数 → 存入列表计算平均值 → 写入Excel当前sheet页判断是否需要采集下一个账号列表循环滚动加载是快手最关键的流程控制点。快手作品列表不是分页的是无限滚动加载。逻辑无限循环 → 鼠标滚动到底部 → 延迟5秒 → 获取当前作品卡片数量 → 和上一次数量对比 → 不变则到底退出。快手比B站更慢每次滚动后必须5秒以上等待3秒不够数据加载不出来。For次数循环和无限循环的区别For次数循环适合已知数量场景如遍历30条商品无限循环适合不确定数量场景如滚动加载。快手的滚动加载用无限循环退出条件判断作品遍历用For次数循环遍历相似元素组。网页自动化快手网页自动化三大坑懒加载、弹窗、SPA路由。懒加载前面说了。弹窗处理快手PC端经常弹出下载APP弹窗或登录提示在流程开头加判断——「判断元素是否存在」检测弹窗关闭按钮存在就点击关闭。这个判断放在每次滚动和每次点击操作前不是只放一次。SPA路由快手点击作品进入详情页不是新开标签页是同页面路由跳转。这意味着点击后返回不是浏览器后退按钮而是页面上的返回按钮。用XPath定位//div[contains(class,back-btn)]或直接用键盘Esc键返回。踩过坑用浏览器后退会回到快手首页而不是作品列表。iframe场景快手有些页面内嵌iframe如广告位元素捕捉时影刀可能选到iframe里的元素。如果校验时发现元素在iframe节点下切到iframe内部再捕捉或者干脆排除iframe层级。网页监听方案快手的数据接口是api.kuaishou.com/rest/n/feed/profile用F12找到这个请求影刀里用监听模式直接拿JSON。监听比元素抓取快5倍但接口可能有反爬检测新手先用元素抓取跑通再升级。数据处理数字解析子流程是快手采集的核心数据处理模块。完整逻辑输入raw_text原始字符串如256.3万粉丝步骤1字符串替换粉丝为空 → “256.3万”步骤2If判断是否包含亿 → 是替换亿为空→转浮点→乘1e8→转整数步骤3If判断是否包含万 → 是替换万为空→转浮点→乘1e4→转整数步骤4Else → 直接转整数步骤5异常处理转换失败返回0列表数据聚合遍历完成后从所有作品的播放量列表中计算平均值。用影刀的「列表求和」和「列表长度」指令总和除以数量得到平均值。互动率计算点赞数/播放量的比值用浮点数运算保留2位小数。日期格式处理快手作品发布时间显示3天前“2周前”不是标准日期。需要转换逻辑——获取当前日期影刀内置变量current_date根据X天前往前推算具体日期。写一个子流程专门做这个转换输入3天前输出2024-03-12。鼠标键盘图像自动化快手页面的鼠标操作比B站多因为要频繁滚动和点击视频卡片。鼠标滚动方向向下距离800像素次数3次。快手的滚动触发比B站敏感一次滚动可能加载10条以上。滚动后延迟5秒不是3秒——快手服务器响应慢。键盘操作Esc键返回详情页、CtrlA全选文本框采集描述信息时、Tab键切换输入焦点。影刀「键盘输入」指令支持组合键CtrlTab切换浏览器标签页。图像自动化备用快手改版后元素定位失败时截取关键按钮的图像作为图像点击目标。“返回按钮”“关闭弹窗按钮”翻页箭头各截一张图备用。图像识别的缺点是不支持相似元素循环只能单点操作。进阶技能网页监听采集快手API数据F12 → Network → 筛选XHR请求找到graphql或rest/n/feed类型的API影刀获取网页对象 → 开始监听请求 → 传入URL模式 → 延迟5秒 → 获取监听结果 → 停止监听结果是字典取[body]→ 字符串转JSON对象JSON结构里直接取fanCount、videoList等字段正则表达式快手作品标题有些带#话题标签采集时需要把标签去掉。正则#[^#]#匹配所有话题标签用字符串替换清空。发布时间字段正则\d[天小时周月年]前匹配相对时间用来触发日期转换子流程。全局变量在元素编辑中的应用快手账号URL作为全局变量传入元素定位。如果元素里有账号ID相关的属性值用全局变量替代固定文本换账号采集时只改全局变量值就行。平台实战快手采集实战要点PC端快手网页功能不全部分数据只能APP端看到。PC端能采集粉丝数、作品列表、播放量、点赞数、评论数快手反爬比B站严连续采集超过30个账号会触发IP限制。加账号间隔5秒超过30个换IP用影刀内置浏览器切换代理作品详情页有些视频是付费课程点击后弹出付费弹窗。判断弹窗存在就关闭并跳过这条抖音采集同理打开抖音创作者主页 → 滚动加载 → 相似元素遍历 → 数据写入Excel。抖音的反爬更严验证码频率更高建议用监听模式抓取API数据而不是元素操作。小红书采集笔记列表是瀑布流布局元素结构比快手更复杂。需要关联父元素找子元素——先捕捉笔记卡片父元素组再在每个父元素内部找标题和点赞数子元素。系统联动采集数据写入Excel后和飞书/钉钉联动飞书多维表格比Excel更适合团队协作。影刀支持飞书多维表格的写入操作——获取多维表格的app_token和table_id用HTTP请求POST数据。每条采集结果写入一行团队成员直接在飞书看最新数据。飞书Webhook告警粉丝增长超过5%自动发飞书消息。影刀流程结尾加判断——当前粉丝数和上次采集的粉丝数对比增长率超过5%就触发HTTP请求POST飞书Webhook。钉钉机器人类似配置群设置→添加机器人→拿Webhook URL→影刀HTTP请求POST。邮件联动影刀支持「发送邮件」指令采集完成后自动发邮件给运营团队。附件带上Excel文件邮件正文写采集摘要。工程化与规范流程拆分规范主流程kuaishou_account_collector整体调度子流程1ks_number_parser数字解析子流程2ks_date_converter日期转换子流程3ks_scroll_loader滚动加载子流程4ks_feishu_writer飞书写入变量命名ks_前缀表示快手相关raw_表示原始未处理数据parsed_表示处理后数据out_表示输出。异常处理策略所有网页操作指令设超时10秒快手慢超时后重试一次再超时跳过当前项继续。「获取元素」指令的高级选项里设超时时间默认3秒太短。多账号采集用列表循环把所有账号URL放在Excel或列表变量里外层循环遍历账号列表内层循环遍历每个账号的作品。账号间加5秒延迟防反爬。速查表与常见报错报错原因解决元素校验失败快手改版class变了去掉hash类class用xpathcontains粉丝数抓到空元素在title属性不在文本用获取元素属性取title值滚动后数据全空未等加载完成延迟5秒以上SPA页面返回失败用了浏览器后退改用页面返回按钮或Esc键iframe干扰广告iframe遮挡元素编辑排除iframe层级| NoneType object | 变量未赋值 | 流程开头初始化所有变量 || 数值转换报错 | 256.3万无法直接转整数 | 用数字解析子流程 || 日期格式不对 | 3天前非标准格式 | 用日期转换子流程 || IP被限制 | 连续采集超过30账号 | 账号间隔5秒换代理 || 付费弹窗阻断 | 点击了付费课程视频 | 判断弹窗存在→关闭→跳过 |核心指令速查打开网页 / 获取网页对象 / 关闭网页捕获相似元素 / 循环相似元素 / 获取相似元素列表获取元素属性 / 获取元素文本优先用属性取值鼠标滚动 / 键盘输入(Esc返回) / 延迟执行(5秒)判断元素是否存在 / If条件判断 / 退出循环字符串替换 / 正则匹配 / 转整数 / 转浮点数列表求和 / 列表长度 / 列表聚合启动Excel / 写入Excel / 保存Excel开始监听请求 / 获取监听结果 / 停止监听HTTP请求(飞书Webhook) / 发送邮件内容标签影刀RPA / 快手数据采集 / 懒加载滚动 / SPA页面 / 相似元素 / 数字解析 / 飞书告警 / 多账号批量 / 反爬处理 / 日期转换作者林焱
返回列表