当前位置: 首页 > news >正文

【实战案例】火语言 RPA 采集小说站已完结书名(自动翻页判断),保存到Excel 全流程(附完整脚本)

一、脚本功能描述

自动打开某小说站的完本小说页面,采集已完结小说书名,将采集的书名保存到EXCEL。实现自动翻页判断,有下一页则点击下一页,无下一个则循环结束。

二、整体逻辑

1、准备:

  • 初始化页码计数器(从第 1 页开始采,记录当前采集到第几页)
  • 创建空列表(准备装数据的“盒子”,系统自动生成的list1 列表,用于存所有采集到的小说名)
  • 打开浏览器、浏览网页(选择浏览器类型,访问网址URL)

2、循环采集

  • 重复做三件事,直到满足停止条件(这里可以看到有50页,那么循环采集50页或无下一页)
  • 采集当前页的小说名,存入 list1
  • 判断是否需要翻页(当前页码≤50,且下一页按钮可点击时,才翻页);
  • 翻页后更新页码(页码+1),不翻页就停。

3、保存数据:

  • 打开 / 创建 Excel 文件;
  • 在 Excel 的 A1 单元格写入 “小说名” 作为表头。
  • 把列表里的名字纵向写到 Excel A 列。

4、结束操作:

  • 保存 Excel 文件;
  • 关闭浏览器,流程结束。

三、详细操作步骤

步骤 1:初始化页码计数器

操作细节

变量赋值,创建变量 页码:current_page, 值输1; 告诉脚本 “从第 1 页开始采”

步骤 2:建空表格存数据

操作细节

列表打开或新建,准备一个“盒子”存所有采集的小说名,系统自动命名list1

步骤 3:打开浏览器 + 打开目标页

操作细节

打开浏览器(选择浏览器类型:内置、外置、指纹)
浏览网页,输入需要采集的网址URL:https://www.qidian.com/finish/
 

步骤 4:循环采集

操作细节

While 循环,条件输current_page ≤50,页码控制最多采 50 页,自动重复采集动作

4.1 等页面加载

等待元素显示消失,选择器输css:.all-img-list,确保等小说列表加载完,避免采空

4.2 提取当前页小说名

获取多元素信息/属性值,择器输css:.book-mid-info h2 a(精准定位小说名),
提取类型:选择textContent(文本内容),输出变量名:current_names(临时存当前页小说名)。
这里输出变量可以选在添加变量(快速),可以自动根据组件选择类型。

4.3 合并到 list1

列表合并,将上一个组件的输出的current_names(临时存当前页小说名),合并到盒子list1

4.4 判断是否翻页(该页面只显示50页,这里就以50页作为判断依据)

条件判断,页码≤50(控制是否翻页),否则就停止。

在实操中发现,这个网站比较特殊,当页面到49页后,点击下一页按钮无效的,无法跳转到50页

所以这里判断条件逻辑为:
current_page ≠49时:直接点击下一页按钮翻页(1→2、2→3…);
current_page = 49 时:点击分页栏的 “50” 标签(确保定位到 50 页,避免跳转问题);

步骤 5:保存数据 + 结束操作

Excel打开文档,新建Excel文档,用于保存小说名

Excel写入内容,写入表头和小说名
 

Excel关闭保存文档
关闭浏览器

注意事项:

一、逻辑循序:先采集,后翻页

正确顺序:
等待页面加载 → 提取当前页数据 → 合并到总列表 → 翻页判断 → 执行翻页 + 更新页码,从上到下看步骤,“条件判断(IfElse)” 必须在 “提取数据”“合并列表” 之后。

二、变量与赋值:

1-48 页 / 50 页的 “页码 + 1”:
模式:必须选 “# 模式”(变量模式),值填#current_page + 1;
错误:用 “T 模式” 填current_page + 1(会变成文本 “current_page + 1”,不是数字)。

案例脚本分享: https://www.huoyuyan.com/share.html?key=eyJhdXRvQ29kZSI6IkZhbHNlIiwia2V5IjoiNzQxMDI5OGRkODIwNGM0ZTgyOWQ5Mjg2ZjNhZDcxMGEifQ== 提取码: 65ef

http://www.dtcms.com/a/552848.html

相关文章:

  • 基于微信小程序的背单词系统x1o5sz72(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 力扣hot100-------11、盛最多水的容器(java版)
  • Visual Basic 菜单编辑器
  • 本地部署轻量级持续集成工具 Drone CI 并实现外部访问
  • gitlab-ci中cicd+helm实现devops自动化部署到k8s
  • 网站欢迎页面怎么做江门建站公司模板
  • 评论回复网站怎么做郑州百度搜索优化
  • Rust开发之使用derive宏自动实现Trait(Clone、Debug)
  • 15. setState的更新是异步的吗
  • Qwen2.5-VL开源,斩获多榜单冠军!
  • Prometheus和Grafana简介
  • 基于深度学习的医疗器械分类编码映射系统:设计篇
  • Rust开发之自定义错误类型(实现Error trait)
  • 【Java Web学习 | 第三篇】CSS(2) - 元素显示模式
  • 10月31日
  • Mybatis-Plus实现MySQL分表
  • 兵团住房和城乡建设局网站网站设计标杆企业
  • 快充新标杆:AVS 协议如何重塑手机充电体验
  • LIUNX 与手机安卓的文件互传 的常用方法
  • 第一届数证杯做题笔记(流量分析和手机取证)
  • 【IO多路转接】深入解析 poll:从接口到服务器实现
  • 【Spring Boot】Spring Boot解决循环依赖
  • 网站开发发展趋势2018网上建立网站赚钱
  • SuperMap Hi-Fi 3D SDK for Unreal 使用蓝图接口加载多源数据
  • 【Java】如何使用jdbc连接并操作MySQL,一文读
  • SSM宠物寄养系统ih041gj7(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 网站广告素材php网站免费模板
  • 还在用JDK8?JDK8升级JDK11:一次价值千万的升级指南
  • 深圳网站建设模板乐云seo与设计行业相关的网站
  • 缓存异常:缓存穿透、缓存击穿、缓存雪崩