影刀---实现我的第一个抓取数据的机器人

你们要的csdn自动回复机器人在这里文末哦!

这个上传的资源要vip下载,如果想了解影刀这个软件的话可以私聊我,我发你

目录

1.网页对象

网页对象就是给网页起个名字,后面直接获取,进行方法的点击

我们先打开百度一下这网页

然后点击左上角的新闻

然后我们获取到我们这个百度新闻这个网页对象,然后我们创建一个新的对象进行保存的操作

然后我们再在这个百度新闻的页面进行元素的点击

然后我们的对象就选择百度新闻而不是百度

对应的对象里面的操作我们要匹配好,不然就会出问题了

2.网页元素

网页对象就是给网页起个名字,后面直接获取,进行方法的点击

我们先打开百度一下这网页

然后点击左上角的新闻

然后我们获取到我们这个百度新闻这个网页对象,然后我们创建一个新的对象进行保存的操作

然后我们再在这个百度新闻的页面进行元素的点击

然后我们的对象就选择百度新闻而不是百度

对应的对象里面的操作我们要匹配好,不然就会出问题了

3.相似元素组

在百度这个网页上面有很多的相似的元素

百度热搜里面同样也是的,存在相似的元素

那么我们就想,能不能将这些相似的元素一次性捕获到呢?

我们在新的页面进行元素的捕获操作试试

我们先捕获其中的一个元素---新闻

然后点击捕获相似元素

然后我们再进行一个元素的捕获,我们就会发现已经将相似的元素全部进行了捕获的操作了

那么现在这么一组的相似元素我们已经捕获到了,放到了这个相似元素组里面了

那么我们如何进行使用呢?

一般来说这个相似元素组是和循环去配合进行使用的

拉取完成循环相似元素之后我们再添加一个鼠标悬停在元素上

我们利用循环相似元素,将这个我们之前捕获的相似元素一次的拿出来进行处理的操作

每次拿出来的元素,我们就把鼠标拿出来悬浮在对应的元素的上面

我们进行调试

可以发现这个蓝色的标一直在动

我们捕获这个相似的元素

然后我们就利用循环相似元素将这些相似的元素取出来

对这些循环元素进行点击的操作

但是我们发现我们点击确认发货之后还要点击这个确定

所以我们还要循环中加一个点击确定的操作

那么这个就是利用相似元素的特点来批量的处理一些相同性质的事情

那么在这里凯子就受到了一点的启发,我可以通过循环获取这些相似的元素,然后对这些元素进行点击然后发布我们想要群发的信息

4.元素操作

点击和悬浮

点击就会进入我们想进入的网页,然后鼠标悬浮就会显示一些信息之类的

比如说我们刚刚把鼠标悬浮在这个网页操作上面然后就出现了这个小页面了

跟框相关的操作

设置下拉框

我们现在对这种下拉框进行操作

那么我们捕获这个下拉框的元素

从左侧栏获取这个

我们在左边的元素操作中获取到这个设置下拉框然后将捕获到的下拉框的元素放进去

我们可以根据这个下拉框的内容进行选择,

复选框

对于这种复选框我们同样有着对应的操作

我们在左边的元素操作中选择设置复选框,然后对这些框进行元素捕获的操作


我们可以选择是否对这个框进行勾选的操作

滚动条

我们经常能在网页上面看到这种拖拽的条,那么我们也有对应的操作

我们在元素操作中选择这个拖拽元素

对这个元素进行捕获的操作

设置好拖拽的目标我们就能实现拖拽了

获取元素的信息

现在网页上面有一行字,我们需要进行获取里面的内容

那么我们在数据提取中获取元素信息就行了

我们直接捕获元素文本内容的那块区域就好了

然后利用打印我们就实现了网页上面文本内容的获取了

5.变量

不同的变量不能起相同的名字

一般的变量都是我们打开一个网页然后被动创建了

我们同样也是可以进行变量的主动创建操作的

我们在左侧栏数据处理中有个设置变量


我们在这里设置了name=影刀

就是我们在后面的调用的时候调用到name就是使用影刀了

那么这里变量就设置完成了

那么这个有什么用呢?

我们在百度的输入框中输入影刀该如何进行操作呢?


我们直接在fx里面选择name就好了,因为name就是代表的是影刀

我们这里选择的是变量的名字,但是实际后面代表的是影刀这个数据

那么这里我们就嫩实现打开一个网页的操作了

这个我们设置的变量有很多的类型

这里我们设置了两个变量,我们使用这两个变量的话我们直接在这个fx里面进行选择

变量的两个要素:变量名、变量值

如果现在我们想要将变量的名字改变了, 现在下面的很多操作中全是我们手动写的名字

但是如果我们使用的是变量的话,我们只需要该当初定义这个变量的那条指令就好了,那么后面的都被修改了

我们前面都设置这个变量,后面都调用这个变量

如果想改变这个变量名字,我们直接将这个变量对应的值进行修改操作就行了,不用对后面的命令一条一条的修改

变量就是给一些网页对象起个名字

6.数据的表达

字符串变量

这个是一种表达方式,还有一种方式进行字符串的输入,我们可以将左边的Python的图标点亮,满足Python语法的我们都能进行输入操作

字符串在Python中使用引号进行包裹的

普通模式我们就直接进行文本的输入就行了,但是点亮的模式下我们输入引号,子啊引号里面包裹字符串就行了

如果是不亮的话默认输入的就是字符串

列表

列表就是存放数据的容器

将左边的Python点亮,然后输入英文版本的括号,然后往里面输入引号,引号之间用英文逗号间隔,引号里面写的就是我们要的数据

打印完成之后我们就能将元素从列表中拿出来

但是如何拿出来呢?列表中的数据是有位置关系的

我们如果想将这个图中的杭州拿出来。我们直接利用下标进行访问就行了

变量名[对应元素的下标]

这里的杭州市city_of_zhejiang[0]

通过正序和倒序都能将列表中的元素进行获取的操作

我们先设置好变量的类型为列表

然后我们在打印中进行设置,我们现在想打印杭州


然后这个就变成了列表中第一个元素的调用了

city_name[0]指的就是第一个元素

列表和循环进行结合操作

列表的话经常会和循环进行配合

通过循环将列表中的数据提取出来

那么我们下面就将数据提取出来进行打印

我们在循环的列表中选中这个ForEach列表循环


然后fx选择这个列表,然后我们在循环之中我们就能得到列表中的元素了

一个一个的拿出来然后存储在loop_item这个变量里面

然后我们就可以进行打印的操作了,

在下面我们能看到这个列表中的数据都会一一打印出来的

7.搭建一个机器人(1)

总结:我们先进行网站的登录操作,输入账号密码点击登录

进入里面的页面点击订单管理的页面

输入我们想要搜索的东西(就是在框框里面填写我们要搜索的东西,这个我们在一开始就设置了一个自定义对话框来获取我们想要搜索的东西,然后储存在变量中,我们然后填写输入框就填写这个变量就行了),然后点击搜索我们就得到了我们想搜索的商品的所有数据

然后我们进行数据的获取的操作

我们进行这个批量数据抓取的命令,但是我们不知道我们要抓取的最大页数,那么我们就需要获取最大的页码数,我们通过获取相似元素列表的操作,然后我们获取了'上一页''下一页''中间的数字页面'这几个元素,我们将获取的数据存放在列表中,我们想要获取的最大的数据在倒数第二个位置

我们现将我们捕获到的列表赋值给我们创建的变量,这个变量就是列表

我们可以在批量数据抓取进行多页数据抓取,然后在下面翻页的页数填上我们获取最大页数(那个列表和下标两个条件就能获取到这个最大的页码数了)

最后我们就能将数据导出成Excel了

这个就是我们今天要搭建的机器人的搭建流程


影刀商城

进入这个网站进行一些操作

我们在后面通过这个规律找到不同数据的最大页码,然后不同页码进行不同的获取数据的操作,然后实现动态数据的抓取操作

然后将数据导出为Excel

通过图中的流程我们就能实现下面这个界面了

那么接下来我们就要开始进行数据的抓取了

我们在影刀的界面上能找到这个数据抓取的东西


那么我们现在就已经是抓取了这个表单的所有数据了

我们下面就进行一遍数据的抓取,我们在下面的数据表格里面就能找到

我们在进行数据抓取的时候只需要随便进行抓取一下就行了

如果我们仅仅只是想要获取单号的信息的话,那么我们就点击不是我想要的


我们点击相同的元素来进行选择就好了

我们也可以再新增一列

我们在这里只抓取了一页的数据啊,这里有三页

我们设置好框柱的条件就行了

填写页数并且获取点击下一页的元素按钮,那么这里我们就设置好了

我们在配置好了之后我们在数据表格中清除数据表格

为了就是保证我们在抓取数据之前我们的数据表格都是空的


那么现在我们就实现了三个页面数据的捕获操作了

但是我们想想,我们这个短袖T恤有3个页面,但是篮球的话只有一个页面,我们已经将这个捕获数据的页数设置为了3,那么我们该怎么进行修改呢?

那么我们有没有办法知道动态的页面变化呢?

我们在左侧列表中选择获取相似元素列表,然后我们将页数的相似元素进行捕获


将这三个数据进行捕获的操作

我们获取这个相似元素之后,在这里里面设置获取文本内容

然后将文本内容存储在页码元素内容这个列表里面

打印出的内容就是空 1 2 3 空

那么我们就将这个元素的内容拿出来了,然后我们现在要的这个最大页数3

这个数据在这个列表的倒数第二个位置

那么我们现在设置一个变量

将这个3拿出来然后赋值给这个变量名

我们是在获取的列表中进行元素获取的,然后进行赋值操作的

我们先获取这一列相似的元素,然后存放在页码元素内容_list这个列表里面

然后发现我们要的这个最大的元素在列表中的倒数第二个元素的位置那里,然后就根据位置关系将这个元素拿出来

然后我们用这个列表中倒数第二个元素对这个新创建的变量进行赋值的操作

然后我们进行打印的操作就得到了这个最大的页码数

这个3是我们搜索短袖T恤这个页面的时候最大的页数,那么我们就换个篮球的页面试试

那么我们这里判断出了这个页面的最大页码数,那么我们就将这个最大页码数1拿了出来了

这个最大的页码数还是在倒数第二个位置,因为不管怎么变,一开始和最后的那个位置都是空的,倒数第二个就是最大的

那么现在我们的最大页码数我们就能进行获取了

最大页数就进行动态的变化了,我们将批量抓取这个页面数据放在后面,然后就能随着这个最大页码page_num的变化进行操作

那么这里就只有一页了,我们进行抓取就成功了,成功将这一页的数据进行抓取的操作了

我们调回短袖T恤也是随着这个页码数的变化而变化

最后我们想将数据导出,我们在左侧栏找到这个数据表格,找到数据表格的导出

我们不仅将数据导出了,还将数据导入成了一个Excel到桌面

这个就是最后的效果内容了

获取日期的操作

但是现在我们提出一个要求,每天都要进行这个数据的获取,而且这个数据以日期进行命名

我们新建一个子流程

我们在左侧栏日期时间中找到获取当前日期时间

获取到的时间就存储在了current_datetime这个变量中

然后我们进行打印的操作

下面就实现了我们要的效果了

那么我们如果时间将日期变成文本呢?

我们在日期时间这一栏中找到日期转换为文本

我们将获取到的日期以我们选择的格式保存在date_txt中

那么下面就能打印出我们想要的效果了

那么我们现在通过这个组合就能进行时间的获取了

我们将这个这组命令复制过来

那么有了这个文本的话我们数据表格导出的时候就能利用变量的特性来进行文件名字日期的命名操作了

我们利用日期和.xlsx这个后缀就能往桌面上面生成这个Excel文件了

我们桌面上面就能进行显示这个了文件表格了

那么到现在打开网页,批量进行数据的抓取的机器人我们就做完了

我们可以将代码中的打印日志删除了,这个就在我们调试的时候进行使用

那么我们进行一个总结:

第一步打开这个网页

第二步是填写用户名和密码,然后进行一个登录

第三步我们点击这点单管理选项

第四步我们进行对应商品的搜索操作

第五步我们找到这个最大页数,然后动态的进行数据的抓取操作

最后一步我们获取抓取数据当天的信息,用这个来进行命名操作,然后导出这个Excel表格文件在桌面

通过15个命令我们就能获取网页数据的操作了

我们通过15行指令创造出了这个机器人,但是看着有些凌乱,那么我们是否有方法让这个步骤看着整齐些呢?

在这个顶部我们有一个折叠的功能

对于前三道命令的话其实就是登录的流程

那么我们将这几道命令放到一个块里面


8.自定义对话框的用法

找到对话框然后我们打开自定义对话框

选择输入框拖到左边

当我们执行这个命令的时候弹出了一个对话框让我输入一个内容

对于之前的我们创建的机器人的话,我们必须要对命令进行修改,然后指定我们要搜索什么,那么就不是很方便,但是现在我们通过这个对话框输入我们每次想要搜索的东西,然后存在一个变量里面,我们通过这个变量进行搜索的操作

那么这样就实现了人机交互的操作

那么我们如何进行我们输入数据的承接呢?

我么在左侧栏数据处理中选择这个设置变量


我们在变量里面的这个fx选择这个TextBox

然后我们给这个数据起个名字叫待输入的内容

我们进行这个内容的一个打印操作

我们在弹出来的对话框里面填写的是篮球鞋,然后运行结束之后,我们设置的变量里面就是我们输入的内容

第一步我们用自定义对话框输入一个内容

第二步我们用一个变量将输入的内容承接下来

第三步我们将这个变量打印出来了

有了对话框之后我们就能将之前的命令进行一个调整

我们将这个输入的对话框放在最前面,为什么呢?

因为我们将这个对话框在运行点击后直接进行输入,输入完之后我们直接不用管了,后面的就是自动化的操作了

如果放在后面的话,运行半天突然弹出来一个框,我们还要等着输入框弹出来吗?


创建自定义对话框,然后创建一个变量对我们输入的文本进行接收

接下来我们在搜索时商品的时候就变的很灵活了

我们在这个搜索商品里面的输入框里面填写我们最开始设置的变量,里面存的就是我们想要搜索的东西

那么到这里自定义对话框的学习就结束了

自定义对话框就是人机交互的入口

除了输入框还有其他的框

9.打印日志的用法

我们之前的这个自定义对话框就是我们对机器人输入内容

那么这个打印日志就是机器人输出内容

我们在之前的机器人命令中,获取最大页码数的时候,我们获取到了这个相似元素列表,那么我们可以通过这个打印日志来打印出这个我们获取到的相似元素

我们可以通过打印日志看看某些变量具体是什么,我们将变量中存储的数据打印出来,做一个检查和核对

利用打印日志这个功能打印变量进行数据的一个核对操作

我们也可以通过打断点的方式进行排查,我们程序会在断电处停下来,我们再观察所有的变量是否符合预期

10.机器人的定时执行

我们这触发器中进行设置定时的操作

我们新建一个触发器任务



自动回复机器人

相关推荐
风控牛2 分钟前
【注册/登录安全分析报告:孔夫子旧书网】
python·安全·网易易盾·极验·行为验证
逆境清醒7 分钟前
PyCharm 社区版(2024.2.3)安装、配置、创建项目
ide·python·pycharm
学地理的小胖砸11 分钟前
【高分系列卫星简介——高分五号卫星(GF-5)】
开发语言·python·信息可视化·遥感·地理信息
一颗星星辰12 分钟前
Python | 第六章节 | 控制结构
开发语言·网络·python
百锦再15 分钟前
学习Python的难点分析
java·python·学习
SkyrimCitadelValinor17 分钟前
python【入门基础知识】
开发语言·python
Crossoads18 分钟前
【C++掌中宝】类和对象(一):类的定义和实例化
开发语言·c++·机器学习·ajax·数据挖掘
FIN666829 分钟前
2024CSCO 芦康沙妥珠单抗创造晚期TNBC二线治疗新高度
大数据·人工智能
jiamiyanjie34 分钟前
Pencils Protocol 成市场新宠,生态通证$DAPP价值几何
人工智能·区块链
Studying 开龙wu40 分钟前
4.3章节python中循环结构:两种类型:for 循环和 while 循环用法
android·java·python