浏览器自动化(一)

news2024/11/18 10:28:31

目录

介绍

下载地址

安装教程

 爬取百度热搜


介绍

Automa 是一个免费、开源的 Chrome 扩展,它通过目前流行的 No Code 无代码方式,只需要拖拽模块就实现了浏览器自动化,比如自动填写表格、执行重复性任务。

在工作中,如果我们遇到重复性工作,或者说是浏览器自动完成的一些操作,我们为了避免重复工作,就可以利用这个免费实用的工具帮我完成。

下载地址

链接:https://pan.baidu.com/s/1RYbmr6zgmQ52GwFZkWxTfA?pwd=ojem 
提取码:ojem

安装教程

下载后是crx文件直接拖入浏览器的程序扩展页面即可

 

 爬取百度热搜(循环数字)

这里进行一个百度热搜列表的简易爬取

这个列表数据有30条数据,我们爬取列表数据里的标题,简介,以及右边的热搜指数数据

首先打开automa主页,直接在安装好的浏览器插件列表里点击automa

 在主页添加新工作流

每个工作流都是需要触发器进行触发的,默认新建工作流后就会新建一个触发器

添加触发器打开的网页

 

 

 

 由于我们看到需要爬取的百度热搜榜是一个列表数据,这里我们就需要建立循环进行爬取

我们这里使用automa提供的loopData循环的数字循环形式

 

返回百度热搜页面,点击automa插件,选择元素选择器 

 

 选中第一个标题,观察样式选择器

 再选中第二个和第三个观察它们的样式选择器变化

 

可以观察到,多个标题区域的样式选择器内容是一致的,只有child(数字)中的数字跟随列表行数的index进行变化递增,后面的标题选择也是一样的,有兴趣的可以自己试下,由此我们可以直接拿取这里的样式选择器,并想办法直接将child中的数字进行递增,就可以直接循环拿取整个页面的所有标题,简介,指数等

 创建获取三个文本的标签

 把刚才测试的标题的样式选择器,简介选择器,指数选择器等内容直接粘贴到相对应的标签里

简介和指数的以此类推

然后我们前面已经创建了loop循环标签,这里套用automa提供的循环参数 

{{$increment([loopData.loop.$index],1)}}直接代替child()中的数字参数

注意格式 {{$increment([loopData.前面定义的loop循环唯一标识.$index],1)}}

举例: 原样式选择器表达式  .category-wrap_iQLoo:nth-child(3) .c-single-text-ellipsis

         替换后  .category-wrap_iQLoo:nth-child({{$increment([loopData.loop.$index],1)}}) .c-single-text-ellipsis

 简介,标题,指数的样式选择器表达式都依次类推

最后定义循环结束

 还需要定义爬取的内容添加到表格中

 添加表格三列

 

然后区分映射爬取的字段到对应的表格列中

 

 标题,简介依次类推

定义好之后点击保存

点击启动开始测试

 点击日志查看爬取结果

 

 

 

 测试成功

循环数据数字小结:

数字循环实际上就是通过拿取单个元素之后分析和其同样结构的元素,比如第一行标题与其他行标题样式选择器表达式的规律,发现其中只是child(number)中数字的递增,所以这种情况下可以直接使用循环数字来做

爬取百度热搜(循环元素)

我们不仅可以通过循环数字来进行数据元素的爬取,还可以通过循环元素来进行爬取

可以直接在前面的流程中进行改造

 调整loop循环不再通过数字循环,而是通过元素循环

 

 同理同样列表选择后替换原有的简介,标题,指数的样式选择器

 

 

 将标题的列表样式选择表达式映射到对应的标题标签中

 简介和指数同理,不再一一列举

注意此时如果直接保存运行可能会产生爬取的内容全部一样的情况 比如:

这是因为我们在选择标题,简介,指数的列表选择器时,只是把当前行的样式选中了,而并没有把整个列表的样式选择进行配置

这里将我拿到的标题,简介,指数,已经loop循环元素的样式选择表达式列举进行比较

 loop循环元素: .container-bg_lQ801 > div:nth-child(2) > div

标题循环元素: .container-bg_lQ801 > div:nth-child(2) > div a.title_dIF3B

简介循环元素: .container-bg_lQ801 > div:nth-child(2) > div div.large_nSuFU

指数循环元素: .container-bg_lQ801 > div:nth-child(2) > div div.hot-index_1Bl1a

 可以看到,标题,简介,指数的选择器前面的表达式和loop循环元素的一致,所以这里可以直接使用automa提供的样式选择元素替换前面一致的表达式{{loopData@设置的loop循环唯一标识}}以此来映射整个循环元素 

替换后的:

标题循环元素: {{loopData@loop}} div a.title_dIF3B

简介循环元素: {{loopData@loop}} div div.large_nSuFU

指数循环元素: {{loopData@loop}} div div.hot-index_1Bl1a

 点击保存进行测试

 可以看到此时爬取的元素不再是同样的数据了,说明整个循环体元素映射绑定成功

爬取百度热搜(无循环)

前面介绍了两种爬取方式,我们还可以使用无循环进行爬取

还是建立相似的结构

 这里不同的就是没有循环体了

然后我们在标题,简介,指数的样式选择器赋值时也和前面的循环元素一样赋值即可,但是这里直接赋值,不再以循环体的来代替

然后我们在选择器选项中勾选多选和等待选择器 简介,指数同理,

 然后我们就可以点击保存进行测试

 然后我们比较这三种方式

 

 

比较三者的速度,发现无循环方式是最快的,但并不是说无循环就是最好的方式,实际使用中还需要考虑到实际的场景来做选择 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/451626.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nacos单机搭建

Nacos概述 Nacos Nacos是阿里巴巴开源的服务注册中心及配置中心,致力于给开发者提供一款便捷、简单上手的开源框架 Nacos注册中心Eureka 服务配置Config 服务总线Bus 服务发现和服务健康监测 Nacos 使服务更容易注册,并通过DNS或HTTP接口发现其他…

Java企业电子招标采购系统源码Spring Boot + Mybatis + Redis + Layui + 前后端分离 构建企业电子招采平台之立项流程图

项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及…

Java网络通信

网络通信 网络程序设计是编写与其他计算机进行通讯的程序。Java已经将网络程序所需要的对象封装成不同的类。只要创建这些类的对,使用相应的方法,即使设计人员不具有关的网络知识,也可以编写处高质量的网络通讯程序 现实两台计算机的通信&a…

Activiti基本使用2

目录 3、流程实例 3.1、什么是流程实例 3.2、让实际业务与activiti表关联(BusinessKey) 3.3、挂起,激活流程实例 3.3.1、全部流程实例挂起 3.3.2、单个流程实例挂起 4、任务分配 4.1、固定分配 4.2、表达式分配 4.2.1、UEL-value 4.2.2、UEL-method 方式…

“码”上反馈,自动留痕:二维码助力湖塘街道人居环境巡查高效化

绍兴市柯桥区湖塘街道将农村人居环境巡查同二维码技术相结合,具体应用到了“村民垃圾分类检查”、“公厕卫生检查”和“各村垃圾分类工作的督导记录”这三项检查工作中,做到了“码”上反馈、自动留痕,有效提升了巡检实效,在2020年…

什么是薪酬管理系统,薪酬管理有哪些功能?

阅读本文您将了解:1.薪酬管理系统的定义;2.薪酬管理系统的功能;3.薪酬管理系统的作用。 一、薪酬管理系统是什么 薪酬管理系统是一种用于管理企业员工的薪资和奖金的工具。它可以自动计算员工的工资和奖金,记录员工的考勤和休假…

凌恩生物文献分享|大热门--HiFi宏基因组有效提升真核生物群落检出效果

binning和HiFi宏基因组测序优势: 不依赖于微生物的分离培养,环境微生物单菌基因组(框架图)研究的一种新的途径和高性价比策略; 可以得到环境中丰度较低的宏基因组,为研究低丰度微生物提供了途径&#xff1b…

【Unity VR开发】结合VRTK4.0:高亮与标签

语录: 信仰到底是什么呢,就是纵身一跃,就是我们跟神之间一个永远的约定,是舍弃日的去开始新的生活;信仰就是从今以后,再也不要放开你的手。 前言: Interactable Highlighter :当我们的手柄触碰…

Android Framework源码解析篇~

应用启动流程 Activity启动流程 关键debug节点: //左侧 ActivithThread //右侧 ActivityTaskManagerService>..>ActivityTaskSupervisor //中继 debug:ClientTransaction.schedule>mclient.scheduleTransaction //这里是 mclient是 ApplicationThread,从…

++i与i++有什么区别?

在编程时,经常会用到变量的自增或自减操作,尤其在循环中用的最多。以自增为例,有两种自增方式:前置和后置,即i和i,它们的不同点在于i是在程序执行完毕后进行自增,而i是在程序开始执行前就进行自…

基于Java+Springboot+Vue+elememt社区疫情返乡管控系统设计实现

基于JavaSpringbootVueelememt社区疫情返乡管控系统设计实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系…

Python爬取电商数据:商品采集接口 商品详情数据API 商品主图接口

学习Python自动化的一个好办法就是构建一个价格追踪器。由于这项任务生成的脚本可以立即投入使用,所以对于初学者来说尤为方便。本文将向大家介绍如何用Python采集器建立一个可立即实现电商价格监控的可扩展价格追踪器。 价格监控的目的 价格监控的好处多多。对于…

公司招人,面了一个4年经验不会自动化的测试人,他凭什么要15K?

在深圳这家金融公司也待了几年,被别人面试过也面试过别人,大大小小的事情也见识不少,今天又是团面的一天, 一百多个人都聚集在一起,因为公司最近在谈项目出来面试就2个人,无奈又被叫到面试房间。 整个过程…

No manual entry for ls解决办法

No manual entry for ls解决办法 如果在 Linux 中运行 man ls 命令时提示“no manual entry for ls”,则可能是因为您的系统没有安装 man 页面或者该页面已经被删除。此外,也有可能是您输入的命令不是标准命令。 可以通过以下方式进行排查:…

Git 时间线管理

Git 时间线管理 这一部分主要讲的是 取消(undo) 变化 和在不同的时间锚点跳来跳去,以 command 为主。 设计到的commits有: checkoutrestoreresetrevert checkout checkout 的一部分作用,即切换分枝在 git 分支操作 中有提到过&#xff0…

ESP32-s2芯片esp32-s2-saola-1开发板 micropython的repl连接

本文只是解决通过esp32-s2-saola-1开发板 自带microUSB 作为repl与micro python通信的问题。 如果你对esp32,micropython不熟,本文不适合你。 如果你用的不是esp32-s2,你不需要关心。 区分两个USB: 1. esp32-s2原生USB&#x…

25K 入职阿里的那天,我特么哭了

悲催的经历: 先说一下自己的个人情况,计算机专业,17 年本科毕业,一毕业就进入了“腾讯”测试 岗(进去才知道是接了个腾讯外包项目,可是刚毕业谁知道什么外包不外包的)。 更悲催的是:刚入职因为家里出现一…

什么是CDN加速?CDN加速有哪些作用?

一、什么是 CDN CDN 的全称是 Content Delivery Network,即内容分发网络。CDN 是在现有 Internet 基础上增加一层新的网络架构,通过部署边缘服务器,采用负载均衡、内容分发、调度等功能,使用户可以就近访问获取所需内容&#xff…

VMware 安装 MS-DOS7.10 并配置网络

VMware 安装 MS-DOS7.10 并设置软盘共享 1. 新建虚拟机2. 开机2.1. 这几个地方都可以开机2.2. 手速慢,进不了BIOS的朋友可以点这里 安装 MS-DOS7.101. 先选 1 安装 MS-DOS7.10 回车2. 欢迎页面,客气一下而已,继续 Next3. 继续王婆卖瓜4. 这步…

HDCTF 2023 Pwn WriteUp

Index 前言Pwnner分析EXP: KEEP_ON分析EXP: Minions分析EXP: 后记: 前言 本人是菜狗,比赛的时候只做出来1题,2题有思路但是不会,还是太菜了。 栈迁移还是不会,但又都是栈迁移的题,真头大。得找时间好好学学…