Web 自动化神器,批量下载美图,可直接导入使用

ff17b7f2ec8b363e7751633c97c85a5f.gif

作者 | 小碗汤

来源 | 进击云原生

今天为大家分享一款前端自动化操作神器: Automa。

Automa介绍

它是一款 Chrome 插件,即使你不会写代码,也能按照自己的需求,完成一系列自动化操作。利用它,你可以将一些重复性的任务实现自动化、并且它可以进行界面截图、用CSS Selector、Xpath抓取网站数据、设置Proxy、条件,提交表单、调用Webhook,还可以自定义时间去执行任务等。

Automa安装

如果你是一名开发爱好者,可以打开Automa项目地址,克隆项目源码,项目地址:

https://github.com/kholid060/automa

插件下载地址为:

https://chrome.google.com/webstore/detail/automa/infppggnoaenmfagbfknfkancpbljcca/

安装后,您可通过连接块来自动化浏览器的扩展。从自动填写表单、执行重复性任务、截取屏幕截图到抓取网站数据,您想使用此扩展程序做什么取决于您。

本文的目标

通过Web 端自动化神器,低代码,自动批量下载配图网的美女小姐姐封面,供您赏用,让您即使没有编程基础也可以通过导入这里的数据,将流程跑通。

自动搜索

自动打开网站:stackoverflow

794d6a4b6ad2d057b8eace5e55cf4526.gif

第一个Trigger块,触发方式可以是:手动、指定星期、指定日期时间、快捷键;第二个NewTab块,打开谷歌网站;第三个Forms块,通过辅助工具定位到输入框,输入Stackoverflow;第四个Click块,定位到搜索按钮,点击搜索实现自动搜索的功能。

自定义数据下载

NewTab打开以下页面,用于准备下载。

https://img.keaitupian.cn/uploads/*.jpg

注:因为网站主页:

https://www.keaitupian.cn/

和img.keaitupian.cn不是同一个域名,会存在跨域的问题,所以打开图片域名页执行JS下载图片动作。

LoopData的LoopID为one(之后终止循环要用到),使用CustomData,插入Json数据,如:

[{"column": "https://img.keaitupian.cn/newupload/11/1637224362487977.jpg"},{"column": "https://img.keaitupian.cn/newupload/11/1636795162640425.jpg"}
]

JavaScriptCode块,执行下载图片的动作,下载的内容来自于上一个loopData块,这里通过prevBlockData引用。

const url = automaRefData('prevBlockData', '')
//alert(url.column)
var x=new XMLHttpRequest();
//需要在上一个块中打开会img.keaitupian.cn网站,解决跨域问题
x.open("GET", url.column, true);
x.responseType = 'blob';
x.onload=function(e){var url = window.URL.createObjectURL(x.response)var a = document.createElement('a');a.href = urla.download = ''a.click()
}
x.send();

LoopBreakpoint块用于终止LoopData循环,需要填入上面的LoopID:one

批量下载封面

工作流截图:

3dc7fdceca588509f1732fd18f4307ae.png

Tigger触发方式为手动触发;LoopData的loopID为one,循环数据为从1~119的Numbers,这个数据来源于,最后一页按钮href 中的值:

0d5a07422c9a50acbcedbae752ce9825.png

NewTab会循环打开每一页,打开页面输入为:

https://www.keaitupian.cn/meinv/list_4_{{ loopData@one}}.html

loopData@one会取到loopID为one的item。

AttributeValue获取每一页中的img属性src的值

7004e623675f173e9025fb6895eb5b19.png

所以CSSSelector为 .related_box a img

选中:Multiple,可以将所有class为related_box子标签下的src获取到。

选中Save Data,存储key名为fengmianurl,类型为Array。

这样保证后面的循环可以获取数据。

NewTab打开img域名页,防止跨域,这里打开地址为:

https://img.keaitupian.cn/newupload/11/1637224362487977.jpg

LoopData的loopID为two,数据来源为DataColumns,这个即为上面AttributeValue块Save的数据。循环的每一次都会获取到一个key。上面我们只Save了一个key:fengmianurl

JavaScriptCode块:

function download(url) {var x=new XMLHttpRequest();//需要在上一个flow中打开会img.keaitupian.cn网站,解决跨域问题x.open("GET", url, true);x.responseType = 'blob';x.onload=function(e){var url = window.URL.createObjectURL(x.response)var a = document.createElement('a');a.href = urla.download = ''a.click()}x.send();
}const datas = automaRefData('prevBlockData', '')
//这里获取到格式为:https://img.keaitupian.cn/newupload/11/1637224362487977.jpg,https://img.keaitupian.cn/newupload/11/1636795162640425.jpg
for (var i=0; i<datas.fengmianurl.length; i++)
{var url = datas.fengmianurl[i]console.log(url)if (url.indexOf("https://img.keaitupian.cn") != 0) {continue}download(url)
}

我们通过:

automaRefData('prevBlockData', '')

获取到上一块的输出赋值给datas。datas中取出fengmianurl这个数组,进行遍历,下载图片地址。

LoopBreakpoint结束loopID为two的loopData块;第一个CloseTab关闭img图片域名页面。

第二个CloseTab循环关闭每一页。

最后一个LoopBreakpoint结束loopID为one的loopData块;

Automa对于零代码基础的读者,还是比较友好,上手也比较容易,利用Automa 提供的功能在 Web 浏览器中基本可以满足一些日常简单自动化操作需求,对于复杂的前端自动化操作场景,也可以在工作流程中添加拖入JavaScript 来完成。

当然如果你是编程爱好者,建议还是首选采用编码脚本的形式来完成这类自动化操作任务,但不得不说,Automa工具中传达的一些背后设计思想,在一些实际工作场景中,还是值得参考借鉴的,怎么玩取决于您。

参考

https://github.com/Kholid060/automa/wiki

https://github.com/Kholid060/automa/wiki/Features#reference-data

https://github.com/Kholid060/automa/wiki/Blocks#loop-data

c7581cf2ee6baf4fdfebfa104c2c8488.gif

往期推荐

如果让你来设计网络

写时复制就这么几行代码,还是不会?

小小的 likely 背后却大有玄机!

明明还有大量内存,为啥报错“无法分配内存”?

274a65f07c0cc58a21f0e6deac7a1eb0.gif

点分享

0477cf9c18d2cf366108752a740863a4.gif

点收藏

0e9094027b8ea0aa3e9b32a6a043f2c1.gif

点点赞

9118edc9f28379530af814b6319ad919.gif

点在看

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

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

相关文章

RocketMQ 5.0 POP 消费模式探秘

简介&#xff1a; POP Consumer—使客户端无状态&#xff0c;更轻量&#xff01; 作者&#xff1a;凯易&耘田 前言&#xff1a;随着 RocketMQ 5.0 preview 的发布&#xff0c;5.0 的重大特性逐步与大家见面。POP Consumer 作为 5.0 的一大特性&#xff0c;POP 消费模式展现…

oracle排列组合,sql实现排列组合

employe 表中的数据EMPNO ENAME JOB DEPTNO SAL101 实施一部员工1 部门领导 10 1205.775102 实施一部员工2 普通员工 10 1341.174103 实施一部员工3 普通员工 10 1195.74104 实施一部员工4 普通员工 10 1529.176105 实施一部员工5 普通员工 10 1901.084106 实施一部员工6 普通…

【ESSD技术解读-01】 云原生时代,阿里云块存储 ESSD 快照服务如何被企业级数据保护所集成?

简介&#xff1a; 本文描述了阿里云块存储快照服务基于高性能 ESSD 云盘提升快照服务性能&#xff0c;提供轻量、实时的用户体验及揭秘背后的技术原理。依据行业发展及云上数据保护场景&#xff0c;为企业用户及备份厂商提供基于快照高级特性的数据保护的技术方案&#xff0c;满…

一把王者的时间,我就学会了Nginx

作者 | 步尔斯特来源 | CSDN博客Nginx 简介Nginx("engine x")是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少&#xff0c;并发能力强&#xff0c;事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好&#xff0c;中国大陆使用 nginx 网站用户有&…

【ESSD技术解读-02】企业级利器,阿里云 NVMe 盘和共享存储

简介&#xff1a; 当前 NVMe 云盘结合了业界最先进的软硬件技术&#xff0c;在云存储市场&#xff0c;首创性同时实现了 NVMe 协议 共享访问 IO Fencing 技术。它在 ESSD 之上获得了高可靠、高可用、高性能&#xff0c;同时基于 NVMe 协议实现了丰富的企业特性&#xff0c;如…

php数组json函数,php数组转json的函数是什么

php数组转json的函数是json_encode()。json_encode()函数可以对变量进行JSON编码&#xff0c;将其转换为json字符串数据&#xff0c;语法格式“json_encode (value)”。本教程操作环境&#xff1a;windows7系统、PHP7.1版&#xff0c;DELL G3电脑php数组如何转为json&#xff1…

使用友盟+的APM服务实现对移动端APP的性能监控

简介&#xff1a; 对于信息系统服务&#xff0c;一般我们的重点监控对象都是核心的后端服务&#xff0c;通常会采用一些主流的APM(Application Performance Management)框架进行监控、告警、分析。那么对于移动端的APP、小程序的运行时状态如何进行实时监控与分析呢&#xff1f…

首届“中国物联网数据基础设施最佳案例评选”结果出炉

供稿 | 映云科技 出品 | CSDN云计算 随着物联网技术的成熟与普及&#xff0c;如今的世界早已进入万物互联的时代&#xff0c;全球年活跃连接的物联网设备已达数百亿规模 &#xff08;IoT Analytics, 2021&#xff09;。海量物联设备产生的数据&#xff0c;需要通过统一汇聚和…

Serverless 工程实践 | 快速搭建 Kubeless 平台

简介&#xff1a; Kubeless 是基于 Kubernetes 的原生无服务器框架。其允许用户部署少量的代码&#xff08;函数&#xff09;&#xff0c;而无须担心底层架构。 快速搭建 Kubeless 平台 Kubeless 简介 Kubeless 是基于 Kubernetes 的原生无服务器框架。其允许用户部署少量的…

并发编程实践之公平有界阻塞队列实现

简介&#xff1a; JUC 工具包是 JAVA 并发编程的利器。本文讲述在没有 JUC 工具包帮助下&#xff0c;借助原生的 JAVA 同步原语, 如何实现一个公平有界的阻塞队列。希望你也能在文后体会到并发编程的复杂之处&#xff0c;以及 JUC 工具包的强。 作者 | 李新然 来源 | 阿里技术公…

php 什么时候传引用,什么时候在PHP中使用传递引用?

以下内容不适用于对象&#xff0c;因为这里已经说明了。如果计划修改传递的值&#xff0c;则通过引用传递数组和标量值将只会节省内存&#xff0c;因为PHP使用了更改时复制(copy-on-change)策略。例如&#xff1a;# $array will not be copied, because it is not modified.fun…

iOS App 启动优化

简介&#xff1a; 作为程序猿来说&#xff0c;“性能优化”是我们都很熟悉的词&#xff0c;也是我们需要不断努⼒以及持续进⾏的事情&#xff1b;其实优化是⼀个很⼤的课题&#xff0c;因为细分来说的话有⼤⼤⼩⼩⼗⼏种优化⽅向 &#xff0c;但是切忌在实际开发过程中不能盲⽬…

apache1.3 php编译,安装Apache1.3.29 - Linux+Apache+Mysql+PHP典型配置详解_Linux教程_Linux公社-Linux系统门户网站...

2.安装Apache1.3.29。我没有选择安装Apache2.0是我对他还是不放心&#xff0c;因为网上最新公布的apache的漏洞基本上是针对2.0&#xff0c;当然大家可以自己选择安装相应的版本。我这里讲的都是采用DSO动态编译的方法编译Apache.至于有关apache的编译方法&#xff0c;可以参考…

前后端、多语言、跨云部署,全链路追踪到底有多难?

简介&#xff1a; 完整的全链路追踪可以为业务带来三大核心价值&#xff1a;端到端问题诊断&#xff0c;系统间依赖梳理&#xff0c;自定义标记透传。 作者 | 涯海 全链路追踪的价值 链路追踪的价值在于“关联”&#xff0c;终端用户、后端应用、云端组件&#xff08;数据库…

供应商太多,怎么才能高效比价?

本篇文章暨 CSDN《中国 101 计划》系列数字化转型场景之一。 《中国 101 计划——探索企业数字化发展新生态》为 CSDN 联合《新程序员》、GitCode.net 开源代码仓共同策划推出的系列活动&#xff0c;寻访一百零一个数字化转型场景&#xff0c;聚合呈现并开通评选通道&#xff0…

7张图揭晓RocketMQ存储设计的精髓

简介&#xff1a; RocketMQ 作为一款基于磁盘存储的中间件&#xff0c;具有无限积压能力&#xff0c;并提供高吞吐、低延迟的服务能力&#xff0c;其最核心的部分必然是它优雅的存储设计。 存储概述 RocketMQ 存储的文件主要包括 Commitlog 文件、ConsumeQueue 文件、Index 文…

apache php隐藏头信息的方法,apache、php隐藏http头部版本信息的实现方法

1、apache隐藏头部版本信息&#xff0c;编辑httpd.conf文件&#xff0c;找到&#xff1a;ServerTokens OSServerSignature On修改为&#xff1a;ServerTokens ProductOnlyServerSignature Off2、上面的方法是默认情况下安装的Apache&#xff0c;如果是编译安装的&#xff0c;还…

庖丁解InnoDB之UNDO LOG

简介&#xff1a; Undo Log是InnoDB十分重要的组成部分&#xff0c;它的作用横贯InnoDB中两个最主要的部分&#xff0c;并发控制&#xff08;Concurrency Control&#xff09;和故障恢复&#xff08;Crash Recovery&#xff09;&#xff0c;InnoDB中Undo Log的实现亦日志亦数据…

Ampere Altra Max 对比测试数据公布,性能能效双领先

在云计算领域&#xff0c;发展创新的脚步永不停歇。十多年前&#xff0c;伴随着虚拟化及高速网络的发展和成熟&#xff0c;云计算应运而生。在将工作负载迁移到云端的过程中&#xff0c;为了更好地适应云环境&#xff0c;软件架构得以重建&#xff0c;就如同搬进新家时&#xf…

钉钉宜搭入选Forrester《中国低代码平台市场分析报告》

简介&#xff1a; &#x1f389; 最新&#xff1a;钉钉宜搭入选Forrester《中国低代码平台市场分析报告》&#xff01; 11月12日&#xff0c;全球知名研究机构Forrester发布《中国低代码平台市场分析报告&#xff08;The State Of Low-Code Platforms In China&#xff09;》&…