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

【火语言RPA实战案例】根据ISBN 编码批量查询孔夫子书籍信息,自动导出本地 Excel(附完整脚本)

一、脚本功能描述

本地有一批书籍的ISBN编码,需根据这些编码在孔夫子旧书网(https://search.kongfz.com/booklib/?keyword) 批量查询对应书籍信息。手动逐个输入 ISBN 耗时且繁琐,该脚本可实现:读取本地 TXT 文件中的 ISBN 编码,自动访问孔夫子旧书网完成查询,提取书名、作者、出版社、出版日期、装订、定价等核心信息,并将所有数据规整写入 Excel,提升效率。

ISBN.txt:附件:ISBN.txt
 

二、案例核心逻辑

脚本遵循 “数据读取→循环执行→条件判断→数据存储” 的闭环逻辑,步骤拆解如下:
1、初始化:读取 ISBN 列表、新建 Excel 并定义表头、打开浏览器访问目标网站;
2、循环查询:对每个 ISBN,依次执行 “清空搜索框→输入 ISBN→点击查询→判断结果是否存在”;
3、数据采集:若查询到书籍,提取书名及多维度信息(作者、出版社等);
4、数据存储:将信息按行按列写入 Excel,最终关闭资源完成流程。

三、完整操作流程

步骤 1:初始化

组件1:文件读取:读取本地的ISBN编码文档。
https://www.huoyuyan.com/help/component/flow/File/FileRead.html
配置:
文件路径:{ENV.Desktop}\ISBN列表.txt({ENV.Desktop}为桌面路径);
文件读取方式:文件内容列表(按行读取文本内容)
编码:UTF-8,UTF-8 是目前最通用的编码格式,几乎所有设备和软件都支持;
输出变量:ISBN编码列表
 


组件2:Excel打开文档:新建空的Excel文档用于存储查询后的信息
 


组件3:Excel写入内容:写入表头
配置:
写入位置:
起始列名:A
写入方式:覆盖
行号:1
写入内容:#['原始ISBN','书名','作者','出版社','出版日期','装订','定价']
 


组件4:Excel写入内容:写入A列ISBN编码数据
配置:
写入位置:
起始列名:2
写入方式:覆盖
行号:A
写入内容:#ISBN编码列表,第一步文件读取时,已经将读取的内容保存到#ISBN编码列表,所以直接写入变量#ISBN编码列表
 


组件5:打开浏览器:选择浏览器类型,这里我们选择内置浏览器,因为这里没有做登陆演示,所以在操作之前需先登陆孔夫子旧书网账号,以便后续流程顺利进行
 


组件6:浏览网页:输入需要访问的网址URL

步骤 2:循环查询与数据采集(ForEach 循环内)

组件7:ForEach 循环:循环遍历ISBN编码列表
 


组件8:网页注入JS脚本,测试发现,孔夫子的搜索栏内容是文本框追加写入,所以这里需要加一个清空搜索栏,
JS 代码:document.getElementsByName('searchWord')[0].value = '';(强制清空搜索框,适配性更强);
 


组件9:输入框填写:循环写入ISBN编码
输入内容:item(当前 ISBN)
 


组件10:鼠标/元素点击:点击搜索框按钮
 


组件11:生成随机/格式化字符串或数字:为了防止操作太频繁,这里生成了一个随机值作为下一步睡眠的时间
配置:
生成格式:随机数字
数值区间:3-10
输出变量:睡眠等待时间
 


组件12:睡眠等待:将上一步输出的变量睡眠等待时间,作为睡眠等待的时间

判断是否有结果(检测元素是否存在 + 条件判断)

组件13:检测元素是否存在:检测暂无结果是否存在,输出变量暂无结果,进行条件判断
 


 


组件14:条件判断
如果’暂无结果’存在,暂无结果===ture,则跳过当前的ISBN,执行下一个,组件:循环继续
 


组件15:获取单元素信息/属性值
获取书名的元素属性值,属性:文本内容输出变量:书名
 


 


组件16:Excel写入内容:写入书名
配置:
行号:#index + 2(跳过表头行);
起始列名:B,写入内容:书名
 


组件17:获取单元素信息/属性值:获取多维度书籍信息,输出变量书籍信息
 


 


组件18:字符串分割成列表:将获取到的书籍信息,按照/分割成列表,输出变量书籍信息列表
 


组件19:Excel写入内容:写入书籍信息列表

步骤 3:流程收尾

组件20:Excel关闭保存文档
组件21:关闭浏览器
案例脚本分享:
分享: https://www.huoyuyan.com/share.html?key=eyJhdXRvQ29kZSI6IkZhbHNlIiwia2V5IjoiZTEwZDI4Yjc2NGFhNDgzNjlkM2EwYWM2NmQwZmQ5ZGMifQ== 提取码: Csm3

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

相关文章:

  • 从零开始理解状态机:C语言与Verilog的双重视角
  • 做软件常用的网站有哪些软件微信怎么做网站推广
  • 设计模式面试题(14道含答案)
  • [智能体设计模式] 第9章 :学习与适应
  • 肇庆市建设局网站西双版纳建设厅网站
  • LingJing(灵境)桌面级靶场平台新增:真实入侵复刻,知攻善防实验室-Linux应急响应靶机2,通关挑战
  • 融合尺度感知注意力、多模态提示学习与融合适配器的RGBT跟踪
  • 基于脚手架微服务的视频点播系统-脚手架开发部分Fast-dfs,redis++,odb的简单使用与二次封装
  • 构建高可用Redis:哨兵模式深度解析与Nacos微服务适配实践
  • Linux -- 线程同步、POSIX信号量与生产者消费者模型
  • 微服务重要知识点
  • 东莞seo建站排名昆山有名的网站建设公司
  • 主从服务器
  • Linux 文件缓冲区
  • Node.js中常见的事件类型
  • Nacos的三层缓存是什么
  • 交通事故自动识别_YOLO11分割_DRB实现
  • 用flex做的网站空间注册网站
  • Vue + Axios + Node.js(Express)如何实现无感刷新Token?
  • 重大更新!Ubuntu Pro 现提供长达 15 年的安全支持
  • 重庆做学校网站公司农村服务建设有限公司网站
  • 尝试本地部署 Stable Diffusion
  • 网站前置审批专项好的用户体验网站
  • 【动规】背包问题
  • js:网页屏幕尺寸小于768时,切换到移动端页面
  • 《LLM零开销抽象与插件化扩展指南》
  • C++_面试题_21_字符串操作
  • 多重组合问题与矩阵配额问题
  • 什么情况下会把 SYN 包丢弃?
  • EG27324 带关断功能双路MOS驱动芯片技术解析