☰
影刀RPA新手教程:起点中文网小说榜单与章节信息采集
2026/10/11 13:28:21 网站建设 项目流程

影刀RPA新手教程:起点中文网小说榜单与章节信息采集

写网文分析、做小说推荐号、研究题材热度的人都要面对一个问题:起点中文网的榜单和章节更新信息散在几十个榜单分类里,人工一个个翻效率太低。这篇文章教你用影刀RPA把起点榜单的书籍信息、月票、更新状态批量采集进Excel,再深入书籍详情页把最新章节和VIP标记一并抓下来,多榜单循环一次跑完。我非技术出身,用影刀RPA做数据采集两年多,起点是我见过的页面结构最规整的平台之一,非常适合新手练手。

流程主线四步:打开榜单页并捕获书籍列表元素、循环提取书名作者月票、进详情页抓最新章节信息、写入Excel后切换下一个榜单继续。不碰接口、不付费,纯页面自动化就能完成。

安装与环境:三步到位

影刀RPA的安装:官网下载客户端、双击安装、注册登录。社区版免费每天30分钟,跑两三个榜单没问题;要做全站榜单日更监控,建议创业版,运行时长不限。

浏览器插件在客户端"设置"里装,Chrome优先,装完确认图标点亮。没插件的典型症状是"捕获新元素"点了之后浏览器毫无反应,我第一周就卡在这,你检查它比检查流程更优先。

起点榜单页不登录也能看,无登录态门槛,这是它比电商平台友好的地方。唯一要处理的是个别推荐弹窗,后面弹窗模块统一讲。

准备项操作位置检查标准
客户端官网下载安装主界面能打开
插件设置→浏览器插件图标点亮
榜单访问浏览器手动打开列表正常显示

元素定位四合一:榜单列表的规整捕获

起点榜单页的HTML结构规整,class命名稳定,是练元素定位的理想对象。标准动作:拖入指令,点元素选择框,点"捕获新元素",鼠标移到第一本书的卡片上出现橙色边框后点击确认,然后把默认路径改写成稳定XPath。

# 榜单页:整页书籍列表 //ul[contains(@class,'book-img-text')]//li # 榜单页:单本书的书名链接 .//h4/a | .//h2/a # 榜单页:月票数字 .//*[contains(@class,'vote') or contains(text(),'月票')] # 详情页:最新章节列表 //ul[contains(@class,'cf')]/li

用"获取相似元素列表"配合第一条XPath,一次就能把整页书籍卡片收进列表变量。起点的卡片结构统一,这条指令的成功率非常高,新手在这里几乎不会受挫。

CSS选择器在起点更好写,.book-img-text li h4 a这种路径清晰直白。选型建议:起点这种规整页面CSS优先,写法短、可读性好;等以后去抓结构混乱的电商页面,再切换到XPath的contains模糊匹配。两套语法并列学,用哪个看页面脾气。

正则表达式负责两种活:从"1234567月票"这类混合文本里抠数字,用\d+一把抓;从书名里过滤"连载中/完结"这类状态词,用contains定位后文本判断。

变量与数据类型:列表、字典与章节信息

这套流程的变量设计很轻量:榜单名称列表(字符串列表)、单本书信息字典(书名、作者、分类、月票、更新状态五个键)、章节信息列表。

字典的两个关键用法:一是存"书名→月票"做跨榜单去重和对比,同一本书经常同时上好几个榜,重复采集浪费行数;二是取键前先判断键存在,比如部分书籍没有月票字段,直接取会报错,先判断、不存在给0。

字符串处理集中在详情页章节信息上。"获取元素文本"拿到的章节标题常带序号和空格,用"替换文本"清理;VIP章节判断用If条件判断标题里是否含"VIP"字样,含的话单独记标记。数字转换照例要提:月票文本转数字后才能排序,我流程里的转换节点:

# 输入:s_vote 为月票原始文本,如 "12,345" 或 "月票12345"# 输出:n_vote 为整数importre s=str(s_vote).replace(',','')m=re.search(r'\d+',s)n_vote=int(m.group())ifmelse0

列表去重用在两个地方:跨榜单书籍名去重、滚动加载后的章节列表去重,影刀RPA有现成的列表去重指令,不用自己写。

流程控制:多榜单循环与异常隔离

整体循环两层:外层"ForEach列表循环"遍历榜单列表,内层"ForEach列表循环"遍历当前榜单的书籍卡片。详情页采集嵌在内层书循环里,等于实际是三层结构(榜单→书→章节),新手要把层级和变量名对清楚。

我的命名规范:v_rank(榜单名)、v_book(书卡片元素)、v_chapter(章节元素),三层前缀分明。变量串层的后果是A榜的数据写到B榜的表里,检查起来非常痛苦,规范命名是最省事的预防针。

异常隔离照例是铁律。起点虽然规整,但个别书籍详情页会有活动页变体,章节列表结构不同,一抓就报错。内层循环体包Try-Catch,Catch块"打印日志"记录书名和报错信息,跳过继续。If条件判断的三处应用:判断元素是否存在月票字段、判断章节是否VIP、判断书籍更新状态是不是"连载中"(只采连载书时可加这个过滤)。

详情页是整个流程最可能出错的一环,每一本书的详情页采集都要有兜底。

网页自动化:打开、等待、弹窗与翻页

网页自动化链路如下。“打开网页"打开榜单页,URL参数填榜单地址,打开方式选"新建标签页”;接"等待元素出现"书籍列表,超时10秒,起点加载快,10秒足够宽裕。

弹窗处理五步标准流程:判断元素是否存在推荐弹窗→存在点关闭按钮→二次确认已关闭→没关掉点右上角叉→放行。起点弹窗少而规律,这套流程很稳;万一遇到点不动的盲点弹窗,用"点击图像"按截图位置点击,锚点选中心。

翻页部分起点榜单有两种形态:月票榜有页码翻页条,用"While条件循环"加disabled判断,XPath写//a[contains(@class,'next') and not(contains(@class,'disabled'))];新书榜等部分页面是滚动加载,用滚动页面→"获取相似元素列表"→列表去重→数量不再增长的循环来兜底。两套逻辑分别封装,遇到哪种切哪种。

进详情页是流程里唯一的"跳转"动作:循环内点击书名链接,页面在当前标签页跳转,采完章节信息后用浏览器返回指令回到榜单页,继续下一本书。这里有个坑:点击书名如果配置成新开标签页,返回时要"关闭网页"而不是页面返回,两种方式选一种并保持一致,混用必乱。

环节指令要点
打开榜单打开网页新建标签页
等列表等待元素出现超时10秒
翻页条While+disabled判断到底自动停
进详情点击元素返回方式要统一

数据处理:Excel多Sheet与榜单汇总

落表用"打开Excel"绑定工作簿,每个榜单一个Sheet,Sheet名就是榜单名。循环体内"写入单元格"逐行写:排名、书名、作者、分类、月票、更新状态、最新章节、是否VIP、采集时间九列。Sheet切换用Excel指令里的工作表参数指定,别用多个Excel实例,文件锁会打架。

汇总表是加分项:所有榜单跑完后,把"获取表格"读出的各Sheet数据合并进一张总表,用列表去重按书名去重,月票取各榜单最大值,按月票排序后就是一张"全站热度榜"。这一步用数据表格指令就能拼,不用写代码。

清洗环节:章节标题的序号空格用"替换文本"清掉,月票转数字,书名里的书名号统一保留——做字典匹配时书名必须和详情页标题完全一致,这是我踩过的坑,少一个空格就匹配不上。

进阶技能:HTTP请求与Python协同

起点的部分榜单数据有公开接口,"HTTP请求"指令GET之后用JSON指令解析,循环取书籍字段,速度远快于页面采集。我的一般策略:接口能用就用接口,页面采集做兜底,接口字段变了马上切回页面方案,两条腿走路。

Python协同做分析很香:把全站热度榜传进Python节点,Pandas按分类统计上榜数量、月票中位数,再做个简单的题材热度趋势。十来行代码,输出的表直接能放进分析报告。OCR和图像在起点基本用不上,但"点击图像"作为弹窗兜底手段建议保留。

鼠标键盘的常规用法在这里是快捷键操作:Ctrl+F页内搜索辅助人工核对数据时偶尔用"键盘输入"发快捷键,自动化主体还是靠元素定位。

系统联动:日更监控与定时任务

榜单要日更看变化,定时任务配起来:客户端右下角"计划任务",每天早上8点跑一轮全部榜单。老规矩,电脑睡眠设"从不",否则定时任务到点白等。

数据对比逻辑:每天的Excel按日期存档,隔天跑的时候读昨天的文件建"书名→昨日排名"字典,本轮排名和昨日一比,排名暴涨的书单独写进"黑马榜"Sheet。联动通知用Webhook发群摘要,或者"发送邮件"把黑马榜发给自己,通勤路上看完当天的题材风向。

工程化规范:子流程拆分与调试技巧

流程定型后拆四个子流程:读取榜单列表、采集单榜书籍(参数:榜单URL)、采集单书详情(参数:书籍链接)、汇总与通知。命名用"01_""02_"编号前缀,参数传递用输入输出,主流程四个方块,改哪个点哪个。

调试技巧三件套:断点右键添加、单步执行看变量面板、"打印日志"在每个榜单和每本书采集完输出进度。我排查"A榜数据写到B榜"那次,就是日志里榜单名和Sheet名对不上才定位到的,两分钟找到,没日志的话要翻半小时。

版本选择再提醒一次:全站十几个榜单一轮接近一小时,社区版的30分钟跑不完,要么分早晚两批跑,要么创业版。

易错速查表

现象原因解决
相似元素列表只有一页滚动加载没循环滚动+去重循环兜底
跨榜单书籍重复没做书名去重总表列表去重
月票排序报错文本没转数字正则+int转换
详情页返回错乱返回方式混用统一用页面返回或关闭标签页
字典匹配失败书名含空格差异替换文本统一清洗

学习资源与延伸阅读

这套起点榜单采集的完整流程源码我放在代码仓库 home.linyan.cloud,可以直接参考改造,把榜单列表换成你关注的分类即可。官方文档里"ForEach列表循环"和"获取相似元素列表"两篇建议精读,本文的三层循环结构就是它们的标准组合。


#影刀RPA #RPA自动化 #数据采集 #起点中文网 #网页自动化

作者:林焱

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询