Automa自动化爬取文本(一)

news/2024/4/27 5:36:46/文章来源:https://blog.csdn.net/m0_51406695/article/details/130317389

目录

介绍

下载地址

安装教程

 爬取百度热搜


介绍

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.luyixian.cn/news_show_102301.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

learn_C_deep_5 (语句和表达式的概念、if语句的多种语法结构、C语言有没有布尔类型、“零值”的比较)

目录 语句和表达式的概念 if语句的多种语法结构 注释的便捷方法(环境vs) if语句执行的过程 逻辑与&& 逻辑或|| 运算关系的顺序 ​编辑 C语言有没有布尔类型 C99标准 sizeof(bool)的值为多少? _Bool原码 BOOL、TRUE、…

ERTEC200P-2 PROFINET设备完全开发手册(9-2)

9.2 运行AC1/AC4参考代码 修改源代码usrapp_cfg.h的宏为 #define EXAMPL_DEV_CONFIG_VERSION 44 编译后下载到评估板运行AC4示例程序 在TIA中导入GSDML-V2.35-Siemens-ERTEC200pApp44-20210623.xml。新建项目,添加PLC和Devkit设备。 按照如下图所示配置模块&am…

基于vfw的局域网语音聊天室系统源码论文

语音视频聊天 UDP套接字的运用 在实现语音视频聊天时,采用的是基于UDP套接字的点对点模式,而UDP面向的是无连接的数据服务,其套接字的使用如图10所示。 图10 UDP套接字的使用 视频的捕获 利用VFW接口,视频捕获可以分为以下几个步骤: 建立视频采集窗口…

stm32在SDIO模式下SD写入错误的问题

1、问题描述 使用FAT32 f_write 多次执行写操作时,会报FR_DISK_ERR错误,而且是刚开始写不报错,写几次后会一直报错。 设断点跟踪到HAL_SD_WriteBlocks中,在调用SDMMC_CmdWriteMultiBlock时,会报SDMMC_ERROR_TX_UNDERR…

【MYSQL】Java的JDBC编程(idea连接数据库)

1. 配置 (1)新建一个项目 (2)Build System 那里选择Maven,下一步Create (3)配置pom.xml文件 首先查看自己的MYSQL版本:进入MySQL命令窗口 我的MYSQL版本是8.0版本的. 下一步,…

C/C++占位符,%x和%p的区别

遇到的问题 今天遇到了一个很奇怪的问题&#xff0c;当使用malloc分配了一个堆空间后&#xff0c;分别尝试用cout和printf尝试打印该地址&#xff0c;出现了两个地址不一样的情况&#xff1a; int *pp (int*)malloc(10*sizeof(int)); *pp 1234; cout << pp << …

常用数据加密

一、加密和解密 1、 加密 数据加密的基本过程&#xff0c;就是对原来为明 的文件或数据按某种算法进行处理&#xff0c;使其成为不可读的一段代码&#xff0c;通常称为 “密文”。通过这样的途径&#xff0c;来达到保护数据不被 非法人窃取、阅读的目的。 2、解密 加密的逆…

2023年,人工智能和数据训练呈现哪些新趋势?

最近&#xff0c;多才多艺的“全能网友”ChatGPT一次次火出圈。未来人工智能将以多快的速度、发展到何种地步&#xff1f;人们已经开始坐下来认真地探讨和思考。 我们生活在这个日新月异的时代。新的一年&#xff0c;人工智能的真正能力和应用场景又发生了哪些演进&#xff1f;…

Java性能优化之序列化优化

1、Java 序列化及其缺陷 Java 提供了一种序列化机制&#xff0c;这种机制能够将一个对象序列化为二进制形式&#xff08;字节数组&#xff09;&#xff0c;用于写入磁盘或输出到网络&#xff0c;同时也能从网络或磁盘中读取字节数组&#xff0c;反序列化成对象&#xff0c;在程…

java Excel清除表格条件格式规则

© Ptw-cwl 目录 文章目录 目录Excel清除表格条件格式规则1.开始 -> 条件格式2.条件格式 -> 清除规则3.管理规则也能删除 代码报java.lang.IllegalArgumentException: Specified CF index 43 is outside the allowable range (0..42)如何解决源码 Excel清除表格条件…

GitHub 开源神器 Bark模型,让文本转语音更简单

今天跟大家分享一个文本转语音的开源模型&#xff1a;Bark Bark 是由Suno创建的基于转换器的文本到音频模型。Bark 可以生成高度逼真的多语言语音以及其他音频 - 包括音乐、背景噪音和简单的音效。该模型还可以产生非语言交流&#xff0c;如大笑、叹息和哭泣。 该项目刚开源不…

JQuery-原理示意图-- 选择器-- 选择器综合代码--jQuery 的 DOM 操作--增删改查节点--常用遍历节点方法--多选框应用--全部综合代码

目录 JQuery 基本介绍 jQuery 的原理示意图 JQuery 基本开发步骤 说明: jQuery简单示例 jQuery 对象和 DOM 对象 什么是 jQuery 对象 DOM 对象转成 jQuery 对象 应用实例 jQuery 对象转成 DOM 对象 代码演示 jQuery 选择器 jQuery 选择器介绍 jQuery 选择器的优…

根据cadence设计图学习硬件知识 day03 了解 一些芯片 和 数据手册下载的地方

1. MT53D512M32D2DS 芯片&#xff08;动态随机存取存储器&#xff09;的技术指标 1.1 16n Prefetch (预加载) (n --芯片位宽) DDR 体系 链接&#xff1a;DDR扫盲—-关于Prefetch(预取)与Burst(突发)的深入讨论_ddr prefetch_qq_25814297-npl的博客-CSDN博客 1.2 每个通…

webhub123 前端技术社区和技术交流学习网站导航

整理了学习前端技术可以参考学习和技术交流的一些网站集合&#xff0c;全部收录到 webhub123 前端技术社区和技术交流学习网站导航http://​www.webhub123.com/#/home/detail?projectHashid30929575&ownerUserid22053727 整理后的效果如下&#xff0c;我们已经按照不同类…

【Springboot系列】Springboot整合Swagger3不简单

1、缘由 Swagger是一个根据代码注解生成接口文档的工具&#xff0c;减少和前端之间的沟通&#xff0c;前端同学看着文档就可以开发了&#xff0c;提升了效率&#xff0c;之前很少写swagger&#xff0c;这次自己动手写&#xff0c;还是有点麻烦&#xff0c;不怎么懂&#xff0c;…

vue3中其他的变化

1.全局API的转移 Vue 2.x 有许多全局 API 和配置。 - 例如&#xff1a;注册全局组件、注册全局指令等。 //注册全局组件 Vue.component(MyButton, {data: () > ({count: 0}),template: <button click"count">Clicked {{ count }} times.</button> …

[读书笔记] 从问题和公式角度理解 Diffusion Model

[小全读书笔记] 从问题和公式角度理解 Diffusion Model 1. Diffusion Model的结构1.1 定义与限制1.2 定义与限制的数学体现 2. Diffusion Model的模型训练2.1 似然函数转换成ELBO2.2 拆解ELBO2.3 求解关键&#xff1a; q ( x t − 1 ∣ x t , x 0 ) q(x_{t-1}|x_t,x_0) q(xt−1…

CompletableFuture的基本使用和原理

CompletableFuture CompletableFuture是对Future的扩展和增强。CompletableFuture实现了Future接口&#xff0c;并在此基础上进行了丰富的扩展&#xff0c;完美弥补了Future的局限性&#xff0c;同时CompletableFuture实现了对任务编排的能力。借助这项能力&#xff0c;可以轻…

web事件循环

事件循环的应用&#xff1a;计时器 promise ajax node 单线程是异步产生的原因&#xff0c;事件循环时异步的实现方式 1.浏览器进程模型 进程&#xff1a;程序运行需要自己专属的内存空间&#xff0c;可以把这块内存空间简单的理解为进程。 每个应用至少又一个进程&#xff…

模板方法设计模式解读

目录 豆浆制作问题 模板方法模式基本介绍 基本介绍 模板方法模式的原理类图 模板方法模式解决豆浆制作问题 应用实例要求 思路分析和图解(类图) 模板方法模式的钩子方法 模板方法模式的注意事项和细节 豆浆制作问题 编写制作豆浆的程序&#xff0c;说明如下: 1) 制作豆…