影刀自动化采集底层逻辑

news2024/11/28 17:51:20

hello,大家好,这里是【玩数据的诡途】
接上回 <我的影刀故事>
今天给大家介绍一下整个采集的底层逻辑,包括业务流程自动化也是基于这一套基础逻辑进行展开的,顺便带大家熟悉一下影刀,既然叫影刀系列了,那后续一些分享也理所当然的基于影刀来进行

一、 影刀安装

工欲善其事必先利其器,首先需要安装一下影刀工具,直接 影刀官网 下载安装即可,和你电脑里的其他软件安装一样。官网也有一些介绍可以了解下在这里插入图片描述
下载好的软件,打开注册登录,这里可以看到有一些教程,可以跟着学习操作练习,新建一个程序, 进入到如下开发面板,整体可以分两个部分,右上方这两个圈出来的地方,一个是【新建流程】,一个是【新建模块】流程就是可视化的低代码开发,模块就是Python模块,可以直接写python代码,每个指令都有简要说明,可以了解一下,学习中心是所有指令的集合,方便根据功能搜索

在这里插入图片描述

二、主流程介绍

在这里插入图片描述
开发的主要流程,一般工作内容是采集/操作浏览器网页,也会有一些客户端交互案例,比如千牛客服,钉钉消息批处理等。更多的工作场景还是基于网页进行的,所以我们还是以网页交互为主。

在采集的过程中主要逻辑是先跟浏览器建立联系,
在影刀中主要使用create
后续所有操作都是对网页交互

所以我们后续频繁使用的功能将是web下面的指令,可以重点了解在这里插入图片描述

三、网页交互

想要进行网页交互,先要和浏览器建立连接,主要使用create、get_active这两个函数进行连接

在这里插入图片描述

create(url, mode='cef', *, load_timeout=20, stop_if_timeout=False, silent_running=False, executable_path=None, arguments=None) -> xbot.web.browser.WebBrowser

打开网页
● @param url, 目标网址
● @param mode, 浏览器类型
    ● 'cef'  影刀浏览器,'chrome'  Google Chrome浏览器
    ● 'edge'  Microsoft Edge浏览器
    ● 'ie'  Internet Explorer浏览器
    ● '360se'  360安全浏览器
    ● 'firefox'  Firefox浏览器
● @param load_timeout, 等待加载超时时间, 默认超时时间20s, 如果网页超时未加载完成则抛出 UIAError 异常
    ● >0, 等待时间
    ● 0, 不等待页面加载完成,立即返回
    ● -1, 无限等待,直到页面加载完成
● @param stop_if_timeout, 网页加载超时时是否停止加载网页, 默认是  False  不停止加载
● @param silent_running, 是否启用静默运行, 默认是  False  
● @param arguments, 命令行参数, 必须是目标浏览器支持的命令行, 可为空
● @return  WebBrowser , 返回打开的网页对象


===
get_active(mode='cef', *, load_timeout=20, stop_if_timeout=False, silent_running=False) -> xbot.web.browser.WebBrowser

获取当前选中或激活的网页
● @param mode, 浏览器类型
    ● 'cef'  影刀浏览器,'chrome'  Google Chrome浏览器
    ● 'edge'  Microsoft Edge浏览器
    ● 'ie'  Internet Explorer浏览器
    ● 'firefox'  FIrefox浏览器 
● @param load_timeout, 等待加载超时时间, 默认超时时间20s, 如果网页超时未加载完成则抛出 UIAError 异常
● @param stop_if_timeout, 网页加载超时时是否停止加载网页, 默认是  False  不停止加载
● @param silent_running, 是否启用静默运行, 默认是  None  沿用之前的设定
● @return  WebBrowser , 返回获取到的网页对象

在这里插入图片描述
在这里插入图片描述

建立连接之后,后面的就是跟网页交互,从而获取自己想要的数据或者自动化执行的内容,总结抽象出了三个主逻辑,所有的功能都是以【元素定位】、【目标元素的属性】,【与定位到的目标元素进行交互】这三个主逻辑循环嵌套来实现的。具体怎么使用,将在下一期具体案例,带大家代码实操,一步步拆解每个模块功能。

写在最后

视频版同步详见
新鲜出炉的UP主,来当未来百大的老粉吧

感谢大家关注,欢迎一键三连,求粉求关注

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

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

相关文章

怕客户跑单?这套上市制造企业都在使的订单管理方案你一定要看看

随着我国工业和科技的不断发展&#xff0c;越来越多的制造业企业出现订单管理问题&#xff0c;比如订单交期延误、缺乏预警能力等等&#xff0c;轻则客户跑单&#xff0c;重则影响品牌声誉。 其实这些问题都是因为制造企业的订单全流程无法打通、订单信息不能可视化、无法实时监…

【问题解决】Android Studio 无法连接手机(荣耀90)无法识别手机usb

问题描述&#xff1a; 使用AS调试的时候遇到一个问题&#xff0c;由于是重装后的电脑&#xff0c;什么都没配置&#xff0c;但是两个旧手机都在安装SDK tools里的Google usb driver后直接连上AS&#xff0c;而我的新手机却死活连不上&#xff0c;查了一下午&#xff0c;啥方法都…

6种最常用的3D点云语义分割AI模型对比

由于增强现实/虚拟现实的发展及其在计算机视觉、自动驾驶和机器人领域的广泛应用&#xff0c;点云学习最近引起了人们的关注。 深度学习已成功用于解决 2D 视觉问题&#xff0c;然而&#xff0c;由于其处理面临独特的挑战&#xff0c;深度学习技术在点云上的使用仍处于起步阶段…

模仿快猫猫App实现的微信小程序,前端页面基本完成

概述 模仿快猫猫App实现的微信小程序&#xff0c;前端页面基本完成&#xff0c;通过微信开发这工具可以直接跑&#xff0c;代码没有问题&#xff0c;首页数据已经模拟&#xff0c;上拉加载等。 详细 通过小程序模拟快猫猫App的前端页面。代码简单易懂&#xff0c;没有什么高…

Mock.js介绍和使用与首页导航栏左侧菜单搭建

1.1 mockjs介绍 Mock.js是一个用于生成随机数据和模拟接口请求的JavaScript库。它可以帮助开发人员在前端开发过程中模拟后端接口的返回数据&#xff0c;以便进行前端页面的开发和测试。 Mock.js有两个重要的特性风靡前端: 数据类型丰富 Mock.js提供了一套简单易用的API&#x…

蓝牙手表出口欧盟CE认证常规测试项目和流程

蓝牙手表是一种带蓝牙功能的手表,是多功能智能通讯手表的一种,通过手表带有的蓝牙功能,可以和蓝牙手机配对连接后使用。现如今这种产品在生活中收到了许多年轻人的欢迎&#xff0c;一般这类产品要出口欧洲则必须要办理CE认证。 蓝牙手表是无线产品&#xff0c;所以需要办理CE-R…

哈希表的模拟实现

unordered_set: 接口函数&#xff1a; 对应的应用&#xff1a; unrodered_map: 对应的函数接口&#xff1a; 对应的应用&#xff1a; 比较set和unordered_set的效率&#xff1a; 可以看到各个方面hashset是优于set的。 哈希表的模拟实现&#xff1a; 哈希表的实现分为两种&…

Python大数据之PySpark(一)SparkBase

文章目录 SparkBase环境基础Spark框架概述Spark环境搭建-Local SparkBase环境基础 Spark学习方法&#xff1a;不断重复&#xff0c;28原则(使用80%时间完成20%重要内容) Spark框架概述 Spark风雨十年s 2012年Hadoop1.x出现&#xff0c;里程碑意义2013年Hadoop2.x出现&#…

html播放视频

文章目录 <embed>标签<object> 标签<video>标签<video>浏览器支持视频格式与浏览器的支持DOM元素提供的方法、属性和事件 兼容多版本的浏览器自定义控制栏 <embed>标签 <embed> 标签的作用是在 HTML 页面中嵌入多媒体元素。 前提&#xf…

直播软件App开发趋势:2023年最值得关注的五大技术突破

直播软件App开发正处于快速发展的阶段&#xff0c;不断涌现出新的技术突破和创新。本文将向您介绍2023年直播软件App开发领域最值得关注的五大技术突破&#xff0c;帮助开发者和行业从业者把握时代发展脉搏&#xff0c;实现更出色的直播体验。 技术突破一&#xff1a;实时AI强…

【数据结构-图】图介绍

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

【笔试强训选择题】Day48.习题(错题)解析

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;笔试强训选择题 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01;&#xff…

WebGL绘制圆形的点

目录 前言 如何实现圆形的点&#xff1f; 片元着色器内置变量&#xff08;gl_FragCoord、gl_PointCoord&#xff09; gl_PointCoord的含义 示例程序&#xff08;RoundedPoint.js&#xff09; 代码详解 前言 本文将讨论示例程序RoundedPoint&#xff0c;该程序绘制了圆…

一款强大的ntfs磁盘读写工具Paragon NTFS 15破解版百度网盘下载

今天再给大家分享一款NTFS工具Paragon NTFS 15&#xff0c;Paragon NTFS 15破解版是目前的最新版&#xff0c;需要的赶快收藏&#xff0c;地址失效可以留言。 Paragon Ntfs For Mac 15下载&#xff1a;https://souurl.cn/s84CCB Crcak链接: https://pan.baidu.com/s/1c2Hx7QBE…

MySQL数据库基础知识要点总结

目录 前言 一.数据库构成 1.1 表 1.2 关系 1.3 索引 1.4 查询语言 1.5 数据库管理系统 二.数据类型 2.1 整数 2.2 浮点 2.3 日期与时间 2.4 字符串 三.约束条件 3.1 主键约束 3.2 唯一约束 3.3 外键约束 3.4 非空约束 3.5 默认值约束 总结 前言 数据库是…

Linux环境下安装jdk1.8并配置环境变量

JDK版本&#xff1a;1.8 Linux准备工作 1.在usr目录下创建一个java文件夹准备放置我们下载好的jdk安装包 // An highlighted block var foo bar;2 , 将下载好的安装包放到我们刚刚创建好的 /usr/java 目录下, 执行 命令解压安装包。 tar -zxvf jdk-8u221-linux-x64.tar.g…

open62541开发:添加sqlite3 历史数据库

历史数据库在OPCUA 应用中十分重要&#xff0c;例如OPCUA 网关和OPCUA 汇聚服务器中都需要历史数据库功能。但是open62541 协议栈中仅包含了基于内存的历史数据库&#xff0c;在实际应用中是不够的。本博文讨论open62541 中添加sqlite3 为基础的历史数据库若干问题。 借鉴 Gi…

【Python小练习】简单浮点矩阵乘法

前言 最近上《计算机控制系统》课&#xff0c;涉及许多矩阵运算&#xff08;乘法居多&#xff09;&#xff0c;觉得手算不过来&#xff0c;按计算器太慢&#xff0c;于是写一个Python小程序做做。 二、代码 import numpy as np from numpy import shapem int(input("…

3D点云数据集制作实录【LiDAR】

在过去的两年里&#xff0c;我一直在和机器人打交道。 今年早些时候&#xff0c;我不再只关注相机&#xff0c;而是决定开始使用激光雷达。 因此&#xff0c;经过大量研究后&#xff0c;我选择了 32 束 RoboSense 设备。 推荐&#xff1a;用 NSDT编辑器 快速搭建可编程3D场景 …

ElasticSearch深度分页解决方案

文章目录 概要ElasticSearch介绍es分页方法es分页性能对比表方案对比 From/Size参数深度分页问题Scroll#性能对比向前翻页 总结个人思考 概要 好久没更新文章了&#xff0c;最近研究了一下es的深分页解决方案。和大家分享一下&#xff0c;祝大家国庆节快乐。 ElasticSearch介…