当前位置: 首页 > news >正文

影刀自动化采集底层逻辑

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主,来当未来百大的老粉吧

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

相关文章:

影刀自动化采集底层逻辑

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

swiper使用

介绍 Swiper&#xff08;swiper master&#xff09;是一个第三方的库&#xff0c;可以用来实现移动端、pc端的滑动操作。&#xff0c;swiper应用广泛&#xff0c;使用频率仅次于jquery, 轮播图类排名第一&#xff0c;是网页设计师必备技能&#xff0c;众多耳熟能详的品牌在使用…...

基于遗传算法解决的多仓库多旅行推销员问题(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

微信小程序 工具使用(HBuilderX)

微信小程序 工具使用:HBuilderX 一 HBuilderX 的下载二 工具的配置2.1 工具 --> 设置 --> 运行配置2.1.1 微信开发者工具路径2.1.2 node 运行配置 2.2 插件 工具 --> 插件安装2.2.1 下载插件 三 微信小程序端四 同步运行五 BUG5.1 nodemon在终端无法识别 一 HBuilderX…...

设计模式:观察者模式(C++实现)

观察者模式&#xff08;Observer Pattern&#xff09;是一种设计模式&#xff0c;用于定义对象之间的一对多依赖关系&#xff0c;当一个对象&#xff08;称为主题或可观察者&#xff09;的状态发生变化时&#xff0c;它的所有依赖对象&#xff08;称为观察者&#xff09;都会收…...

【前端打怪升级日志之微前端框架篇】微前端qiankun框架子应用间跳转方法

参考链接qiankun官网&#xff1a;微应用之间如何跳转&#xff1f; 1.主应用、子应用路由都是hash模式 主应用根据 hash 来判断微应用&#xff0c;无需考虑该问题 2.主应用根据path判断子应用 方法实现适用条件参数传递存在问题a标签跳转<a href"/toA"></…...

C语言中的typedef struct用法

在学习数据结构的时候&#xff0c;我经常遇到typedef struct&#xff0c;刚开始感觉很别扭&#xff0c;查阅资料之后才真真理解了。 先从结构体说起。 1、结构体用法 struct Student{int age;char s;}如果要定义一个该结构体变量&#xff0c;就需要:struct Student st1; 有没…...

司徒理财:9.27黄金原油日内多空走势行情操作建议

黄金走势分析&#xff1a;      黄金昨日抵达了此前一直强调的日线布林下轨的1903位置&#xff0c;甚至更低&#xff01;昨天的空单也是直接获利收割了&#xff01;现在如果是要继续做空&#xff0c;下方是有日线支撑的&#xff0c;甚至周线的支撑也不远&#xff0c;在1890…...

C++设计模式(Design Patterns)

设计模式主要原则 单一职责原则&#xff08;Single Responsibility Principle&#xff09; 实现类要职责单一 里氏替换原则&#xff08;Liskov Substitution Principle&#xff09; 不要破坏继承关系 依赖倒置原则&#xff08;Dependence Inversion Principle&#xff09; …...

vue点击按钮收缩菜单

问题描述 VUE菜单有一个BUG&#xff0c;当我们点击其它按钮或者首页的时候&#xff0c;已经展示的一级菜单是不会自动收缩的。这个问题也导致很多开发者把一级菜单都换成了二级菜单。 错误展示 错误的效果请看下图。 解决方法 1、寻找菜单文件 因为我使用的是ruoyi的前端框…...

Vue 防止忘记的命令

创建新项目 npm init vuelatest cd <项目名> npm install npm run dev 运行项目 yarn yarn serve 这里如果我用npm install 或者npm run serve会报错&#xff0c;但是新建项目用npm就不会&#xff0c;有大佬知道为什么吗...

APACHE NIFI学习之—RouteOnContent

RouteOnContent 描述: 通过正则表达式匹配输入数据流的内容,然后将输入数据流的副本路由到正则表达式相匹配的输出数据流。 正则表达式作为用户自定义的属性添加,并以该属性名称为输出连线,其值为正则表达式所匹配数据流内容。 当用户定义的属性支持属性表达式语言时,其结…...

【C语言】【结构体的内存对齐】计算结构体内存大小,有图解

计算结构体内存大小&#xff0c;需要用到结构体内存对齐的知识 来段代码看看什么是结构体对齐&#xff1a; #include<stdio.h> struct S1 {char a;char b;int num; }; struct S2 {char a;int num;char b; }; int main() {printf("%zd\n", sizeof(struct S1))…...

Intel 700 800系网卡升级支持WOL UEFI PXE方法

Intel 700 800系网卡默认的NVM版本是不支持UEFI的&#xff0c;升级NVM也不能解决&#xff0c;需要将UEFI driver 包到NVM里。操作步骤如下&#xff1a; 1. 下载Preboot软件包&#xff0c;有Windows和Linux版本&#xff0c;本次使用Linux版本做示例。 Intel Ethernet Connecti…...

vue3 - 使用 xlsx 库将数据导出到 Excel 文件

GitHub Demo 地址 在线预览 xlsx是由SheetJS开发的一个处理excel文件的JavaScript库。它可以读取、编写和操作 Excel 文件 安装xlsx npm install xlsx --save实现一个通过的数据导出工具类 import * as XLSX from xlsx/*** description: 导出excel* param {any} dataList* p…...

机器学习,深度学习

一 、Numpy 1.1 安装numpy 2.2 Numpy操作数组 jupyter扩展插件&#xff08;用于显示目录&#xff09; 1、pip install jupyter_contrib_nbextensions -i https://pypi.tuna.tsinghua.edu.cn/simple 2、pip install jupyter_nbextensions_configurator -i https://pypi.tuna.t…...

【性能测试】jmeter连接数据库jdbc

一、下载第三方工具包驱动数据库   1. 因为JMeter本身没有提供链接数据库的功能&#xff0c;所以我们需要借助第三方的工具包来实现。 &#xff08;有这个jar包之后&#xff0c;jmeter可以发起jdbc请求&#xff0c;没有这个jar包&#xff0c;也有jdbc取样器&#xff0c;但不能…...

蓝桥等考Python组别二级007

第一部分:选择题 1、Python L2 (15分) 下面哪个不是Python的基本数据类型?( ) 布尔型整数型指针型字符串正确答案:C 2、Python L2...

Java如何解决浮点数计算不精确问题

有的时候博客内容会有变动&#xff0c;首发博客是最新的&#xff0c;其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址[1] 面试题手册[2] 系列文章地址[3] 1. 什么是浮点数计算不精确问题? 在 Java 中&#xff0c;浮点数计算不精确问题指的是使用浮点数进…...

一图读懂「五度易链」企业创新服务解决方案,打造卓越营商环境!

“五度易链”紧密围绕园区企业及产业发展需求&#xff0c;基于数据积累和应用&#xff0c;创新企业服务机制&#xff0c;提升企业服务效能&#xff0c;以数字化手段为企业发展纾困解难&#xff0c;赋能企业高质量发展。并帮助园区在运营方面打破数据壁垒&#xff0c;实现数据监…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...