1.应用说明
批量获取2023豆瓣年度读书榜单的书本信息,比如说榜单的前5页,将这些书本信息写入Excel表的Sheet1中,然后从Excel中将这些书本逐个拿出来。榜单中涉及的书很多,假设我们想要购买其中的一部分,就可以制定一定的标准并按照这些标准选出优先阅读的书,将这些书本加入购书单中。
2.应用实现逻辑
3.应用实现
流程指令分步骤解析
步骤一 先抓
打开豆瓣年度读书榜单,获取前5页书籍的书名、链接、书本信息、评分、评价人数、简介和价格信息,并将相关信息写入Excel的Sheet1中。
1.1 【打开网页】按照习惯选择常用的浏览器类型,可选八爪鱼浏览器、谷歌浏览器、Edge浏览器等,网址则填写2023豆瓣年度读书榜单的网址(https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4),最后将此网页对象命名为豆瓣读书榜单。
注意:需确保相关浏览器的八爪鱼插件已经安装且开启,相关文档:自动化插件
1.2 【数据采集】批量提取界面中的书本信息,网页对象选择“豆瓣读书榜单”,该指令最终会输出“Excel文件路径”变量
在豆瓣读书榜单网页中点击“编辑采集目标”按钮,鼠标移动至任意一本书后按住ctrl+鼠标左键,该指令会自动分析并抓取书本相关字段。保留“书名、链接、书本信息、评分、评价人数、简介、价格”这些字段,并更名与上述保持一致,剩余不相干字段均可删除
观察后可发现,评价人数字段原本是类似于“ (74663人评价)”的值,获取后显示的只有数字部分。这一块做了数据处理,点击字段更多操作中的“处理列数据”,添加智能提取步骤,选择“提取数字”
由于我们的目标是采集榜单前5页的书本信息,因此翻页方式需要选择“翻页按钮”,再点击“捕获新元素”按钮利用ctrl+鼠标左键去捕获翻页按钮。采集范围选择指定页数“5”
我们获取相关书本信息后,需要填入Excel表,因此参数“采集数据保存至”选择Excel,保存位置需要选择一个已存在且空白的Excel表。勾选框“带表头导出”需勾选,便于我们后续查阅表格理解对应字段;勾选框“指定Sheet页”非必勾选,不勾选一般也是写入激活的Sheet1页中;勾选框“追加写入”需勾选,相关的书本信息会逐行被写入Excel表中
步骤二 后处理
循环处理所有书本信息,判断当前循环到的书本评分是否达到9.4,以及评价人数是否超过一万人,如果同时符合这两个条件,就可以尝试加入我们的待购书单中。符合上述条件的书本名称和书本链接会被记录在Sheet2中,但不是所有书本详情页都包含“加入购书单”链接,包含该链接元素才会在当前行记录“已加入购书单”,不包含该链接元素会记录“未加入购书单”
2.1 【启动Excel】根据上一指令生成的“Excel文件路径”变量启动对应的表格;驱动方式与表格对应,选项有默认、office、wps;最后将此过程中生成的变量命名为excel变量。
注意:使用该指令时,会默认连带【关闭Excel】的指令,用于保存和关闭启动的Excel表格
2.2 【循环Excel内容】按行循环excel对象的内容,并将当前循环到的值保存在loop_excel中。loop_excel实际上是一个列表,行中具体字段值都是列表的项值。由于我们在【数据采集】中勾选了“带表头导出”,因此第一行实际是表头,循环的起始行是2
注意:对循环Excel内容有疑问,可参考相关文档:循环excel
2.3 【文本转为数值】评分和评价人数都是代表数值含义的文本值,通过该指令先转为数值变量,以便后续进行数值大小比对
2.4 【If多条件】我们筛选的条件有两个,一个是评分大于等于9.4,一个是评价人数大于10000。筛选条件不止一个时,使用该指令最便捷,可通过“增加条件”按钮新增条件输入框,不同条件之间是and关系
注意:每个if判断相关的指令都会自动连带“End If”指令,该指令不需要输入参数,也不能删除,否则会报错。下方与If相关的指令同理,不再赘述。
2.5 【打开网页】浏览器类型与1.1保持一致,此处的网址要填写当前循环项中包含的书本链接,该链接是对应书本的详情页。只有满足2.4条件的书本,才需要执行该指令
2.6 【等待网页加载】如果网页未加载完毕,可能导致后续步骤查找元素时报错。保险起见,需要在此处先等待网页加载完毕。
2.7 【If网页包含】检测当前页面是否含有“加入购书单”链接元素
点击“捕获新元素”-->ctrl+鼠标左键捕获-->点击完成
2.8 【点击网页元素】如果当前书本详情页含有“加入购书单”链接,则需点击该链接将书本放入购书单中
2.9 【Else】与If成对出现,If中的条件不成立,则需要用到else指令
2.10 【按行写入内容至Excel工作表】无论2.7中提到的“加入购书单”链接元素是否存在,都包含该指令,区别在于标记字段内容不同。Sheet2会将符合2.4条件的书都记录下来,“是否已成功加入购书单”会作为一个备注字段存在
符合2.7【If网页包含】条件时的写入内容
不符合2.7【If网页包含】条件时的写入内容,放在2.9【Else】的下方
2.11 【关闭网页】处理完对应书本后,相应的书本详情页需要关闭,不占用我们电脑的资源。
2.12 【关闭Excel】先保存Excel中写入的数据值,再关闭该表格,复原电脑环境。基本与【启动Excel】成对出现
示例数据
涉及指令的帮助文档