【火语言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

