影刀RPA新手教程B站UP主数据追踪——粉丝与播放量每日记录做自媒体选品投放或者想研究同行账号最头疼的是B站不给历史数据你今天看到某个UP主粉丝80万但没人知道他上周是75万还是79万涨粉速度全靠猜。平台后台只显示当前值第三方数据工具要么收费贵要么数据滞后。用影刀RPA做一个每日数据追踪流程每天固定时间自动访问目标UP主主页把粉丝数、播放量、点赞数抄进表格坚持一个月涨粉曲线、爆款视频、数据异动全都一目了然。这篇新手教程把整个追踪系统从零搭出来打开主页、定位数据元素、批量采集视频列表、写入Excel、异常兜底、定时执行。所有指令都是影刀RPA里确认存在的常用指令我是非技术出身这套系统就是我自己的日常工具照着做你当天就能跑起来。数据追踪这件事技术上不难难的是把每个环节做稳让它在没人盯着的情况下连续跑三十天不出错。我会重点讲这些稳的细节。安装环境与采集入口的页面分析先过一遍基础环境影刀RPA社区版安装后确认Chrome插件已启用。B站不需要登录就能看UP主主页的公开数据所以这个流程初期连模拟登录都省了对新手特别友好。不过未登录状态下部分数据有脱敏要采集更完整的数据可以配一个账号登录态用Cookie注入的方式保持。动手搭流程前先做页面分析这一步决定后面定位怎么做打开目标UP主主页观察粉丝数、获赞数所在的顶部数据条按F12打开开发者工具看这些数字对应元素的属性特征往下翻视频列表确认视频标题、播放量、发布时间的结构注意列表是分页的还是滚动加载的这决定采集写法B站的UP主主页顶部有一排数据关注、粉丝、获赞视频列表则是无限滚动的形式。页面结构里class名带有一些随机特征直接照抄自动捕获的结果可能隔几天就失效所以定位策略要提前设计好。元素定位四合一粉丝数与视频列表的稳定捕获B站页面的class有动态特征这里把四种定位方式都用上顺便讲透选型逻辑。捕获时点击影刀顶部工具栏的捕获元素按钮浏览器出现橙色边框后点击目标影刀会自动生成一个初始XPath多数情况需要手动活化。# 捕获元素UP主主页粉丝数class动态时用文本参照 //*[contains(text(),粉丝)]/parent::div/following-sibling::*[1] # 捕获元素视频列表中的单个视频卡片class前缀稳定用starts-with //div[starts-with(class,video-card)] # CSS选择器写法等价于上面的视频卡片写法更短 div[class^video-card] # 模糊匹配视频卡片里的标题链接 //a[contains(href,/video/BV)]粉丝数这种页面唯一元素用文本参照定位最稳粉丝两个字B站改版的概率很低。视频列表这种重复结构用class前缀匹配加获取相似元素列表一次抓整列。CSS选择器里的^是以什么开头的意思和XPath的starts-with等价两者在影刀里都能直接用我个人在列表场景偏爱CSS写起来短报错也好排查。正则表达式在这里的应用场景是清洗数字B站的播放量显示为12.3万写进表格前要换算成123000正则把数字部分和万字分开提取再计算。数字追踪最怕格式不统一这一步清洗是数据可信的前提。变量与数据处理把页面数字变成规范表格采集到的原始数据是字符串比如12.3万、“8456”直接写进Excel没法做趋势计算。数据处理环节做三件事格式统一、追加记录、日期标记。影刀RPA里这套处理的指令链获取元素文本拿到原始值→Python协同或文本指令清洗→追加写入到记录表。万和万的换算我习惯用一小段Python# 输入页面抓取的播放量字符串形如 12.3万 或 8456# 输出统一为整数12.3万 → 123000defparse_count(raw):rawraw.strip()# 去掉首尾空格if万inraw:numfloat(raw.replace(万,))returnint(num*10000)# 万换算成绝对值returnint(raw)# 纯数字直接转整数print(parse_count(12.3万))# 123000print(parse_count(8456))# 8456记录表的结构设计决定后面分析顺不顺我的固定字段是日期、UP主名称、粉丝数、总播放量、获赞数、投稿总数。每天每个UP主一行追加写入指令按行追加历史数据天然按日期排列。一个必须避的坑获取元素文本有时会抓到空字符串特别是页面还没渲染完的时候。所以每个取值指令前面都要加等待元素取到值之后再用If判断非空空值触发重试。空值不校验直接写进表月底一看某天粉丝数是空的整条趋势线就废了。流程控制多UP主批量追踪与无限滚动采集追踪一个UP主是练手实际需求往往是十几个UP主一起盯。流程控制的设计就是把单账号流程循环化把UP主主页链接放进列表ForEach列表循环逐个处理每个UP主内部再套顶部数据采集加视频列表采集。视频列表的无限滚动是本流程的流程控制难点。B站主页列表往下滚才加载滚动判断逻辑这样设计先获取当前视频卡片数量执行模拟按键PageDown或滚动指令等待加载后再数一次卡片数量数量不变说明到底了数量增加继续滚这个循环要有上限保护比如最多滚20次防止页面异常时死循环。我给客户部署的流程里防死循环是标配每次循环计数加一超过上限就写日志退出这是循环类流程的基本卫生习惯。翻到指定深度就够了不必把UP主全部视频采完。追踪涨粉趋势看的是头部视频表现我一般采前50条兼顾信息量和运行时长。社区版每天30分钟的运行限额下15个UP主每个采50条视频一轮下来大约十几分钟完全够用。平台实战延伸从B站到抖音、小红书的数据追踪这套追踪框架是通用的我实际用它跑过B站、抖音和小红书三个平台差异只在页面结构和加载方式骨架完全一样。三个平台的对比经验对比项B站抖音小红书数据可见性未登录可看需登录态需登录态列表加载无限滚动无限滚动滚动加分页混合| 数字格式 | 12.3万 | 1.2亿 | 8500 || 反爬压力 | 低 | 中 | 中高 |抖音的数字格式多一个亿换算函数里加一个分支就行。小红书的采集频率要克制同一个账号高频访问主页容易被限流我的做法是把追踪间隔放宽到每天一次加上随机延迟两年来没被封过。多账号轮换那套方案是重量级手段纯数据追踪用不上别一上来就搞复杂。反过来说B站是这个项目最好的练手平台不用登录、反爬宽松、数据公开新手第一次做采集系统就从B站开始能少踩一半的坑。系统联动定时执行与异动告警让追踪全自动数据每天采了没人看等于没采系统联动让这套追踪真正省心。影刀RPA的计划任务把流程设成每天早上九点自动跑跑完之后有两件事自动发生日常汇报每天一条飞书消息列出各UP主的当日粉丝数和昨日对比增量三十秒掌握全部账号动态异动告警粉丝单日增量超过设定阈值比如涨粉超过昨日三倍时单独发一条告警提醒你去看看是不是出了爆款异动检测的逻辑很简单今天的粉丝数减去昨天的粉丝数差值和阈值比较If条件判断分支里发不同级别的消息。消息分级这个习惯很重要日报是Info级异动是警告级出错的截图是致命级接收人一眼就知道哪些必须马上看。数据的长期价值在表格积累两个月之后开始显现哪类视频发布后涨粉最快、哪个UP主进入瓶颈期、周几发视频数据最好这些问题用记录表做个简单透视就有答案。Excel图表指令还能把粉丝趋势直接画成折线图每周自动生成一张趋势图发到群里汇报素材都省了。工程化与易错速查让追踪系统跑满一年最后讲让系统长期存活的工程化要点。子流程拆分按读取UP主清单、采集主页数据、采集视频列表、清洗写入、通知汇报五块来主流程只做调度。命名用编号加功能配置外置UP主链接清单、阈值、采集深度全放在一张配置Excel里加一个追踪对象改配置就行不用动流程。调试方面第一次跑通后故意制造几个异常验证兜底改错一个链接看告警会不会响、断网跑一次看重试是否生效。异常处理的Try-Catch结构里Catch块除了写日志还要截图截图是远程排查时最直接的证据。易错速查表坑表现解法页面没加载完就取值采到空字符串等待元素加非空校验12.3万直接进表数据没法算趋势换算成整数再写入无限滚动死循环流程卡死超时循环计数加上限访问频率过高被平台限流每日一次加随机延迟class随机导致失效几天后批量报错starts-with加文本参照还有一个数据洁癖相关的坑同一个UP主如果每天跑了两遍定时任务重复触发表里同一天会有两行数据趋势计算就重复计数。防重复的办法是写入前用日期加UP主名做存在性判断已存在就跳过。这类幂等细节平时看不出价值出一次事故就懂了。延伸阅读与学习资源影刀官方文档里获取相似元素列表指令的参数详解、无限滚动的处理思路、计划任务的触发配置都有对应章节动手前把网页自动化和文件读写两部分通读一遍能少走弯路。指令市场里也有视频数据采集类的现成模板导入后对照学习结构很快。我把这套B站数据追踪系统的完整流程文件、记录表模板和三平台采集的差异化配置整理在作者的代码仓库 home.linyan.cloud。配置表里填上你想追踪的UP主链接当天就能拥有自己的数据追踪系统。#影刀RPA #RPA自动化 #B站 #数据采集 #数据追踪作者林焱