爬虫识别-爬虫识别详细流程|学习笔记

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 快速学习爬虫识别-爬虫识别详细流程

开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop 框架搭建)第五阶段爬虫识别-爬虫识别详细流程】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/673/detail/11686


爬虫识别-爬虫识别详细流程

 

内容介绍

一、 爬虫识别流程-读取封装及指标计算

二、 爬虫识别流程-爬虫识别

三、 爬虫识别流程-数据入库

 

为何要详细介绍爬虫识别流程,在我们做项目的时候,首先要做一个项目规划即我们要实现一个什么样的目标,我们的目标就是爬虫识别然后写入 Redis,如果我们要实现这个目标,需要按什么项目顺序去做呢,每一步要规划好(如图步骤顺序),规划好后按这个顺序、流程来做,不能摸着石头过河。

image.png

接下来仔细学习这个流程,这个流程再细化一下,怎样计算指标,计算完后按怎样的顺序。

 

一、爬虫识别流程-读取封装及指标计算

首先灰色的部分是我们做指标计算的过程,这里面先要从 Kafuka 当中把数据读到程序里面来,读完数据后,得到的是一批数据,然后针对这批数据进行封装,封装成 Process.D,通过点的方式拿出去,其次学习指标计算,即计算这八个指标

 image.png

先看第一个指标 IP 段访问量,尤其看橙色箭头是从一批数据中得出的

 image.png

然后在计算第二个-某个 IP5分钟内访问总量,也是从一批数据中读取的,第三个某个 IP5分钟内关键页访问总量,也是从一批数据中读取的,以及第四个同样也是如此,也即同一批数据用了很多次,而八个流程中可换顺序,但是这几个顺序不能换

 image.png

从这一批数据衍生出来的还会有5、6、7、8等等,1到8是反复用这批数据,然后计算出来的结果,到这我们就得到了八个结果集即八个指标对应的结果集,然后再从这批数据当中拿出每一条数据,每一条数据拿到,八个结果集也有了,然后下一步提取结果,这八个结果集每一个都算好了,左侧每一条数据对应的值在八个结果集中肯定是有的,所以我要做结果提取

image.png 

接下来蓝色部分,每一条数据补过来的一条数据,比如192.168.34.11,A,B,C,后面有一堆数据,其次,是刚刚计算完第八个结果,接下来就是要在这八个结果集当中,把我192.168.34.11,A,B,C,这个 IP,每一条数据都跑一遍,也就说找到一条数据的 IP,在这八个结果当中抽取数据。抽取什么数据?如图橙色部分 ,肯定得有个 IP还得有个总量,如某 IP5分钟内关键页访问总量,都是 IP 数量,都是一个IP加一个值,用192.168.34.11,A,B,C,这个 IP去抽取第一个IP段的量,把量拿出来,第二个也是把某IP5分钟内访问总量拿出来,第三个把第三个的量拿出来,第5、6、7、8个都是如此,把92.168.34.11,A,B,C,这个 IP 在八个结果集当中的量抽取出来。一条数据在八个结构机当中对应的值就抽取出来,如果有十条数据,那每一条数据都要总结。找到了8个结构及一条数据,对应8个结构结构及当中的量,这个量有什么用?来看这里面企业端还配置了8个指标的阈值,值拿到了,我在和数据库里面的这8个值去对比去对比,两个结果里,一个是企业端配的阈值,另外一个是一条数据在这8个结果里面的值。

image.png

 

二、爬虫识别流程-爬虫识别

得到这两个结果后,要去做指标碰撞,把这两个结果去碰撞对比,到底是多大,到底是超过没超过,没超过碰撞,碰撞完了以后我会要两个结果,第一个结果就是与选定与与否无关的一个结果集。什么叫做与选定与否无关,

image.png

流程当中这指标,前面有复选框可以选择也可以不选择,最后有选的和有没选的,而与选定与否无关,也就是说不管选不选都要,得分的一个结合集,如果与选定与否无关,若前面的值超过阈值,不管选没选中,后面就取分数,若没超过就给个零。第二个结果必须得是选定的得分结果集,如果数据超过了值,就拿分数,如果没选中的就不要了,选中的为前提,超过阈值,就拿分数,没超过的就不要这个值了,所以这个必须是选定的结果集,同时得是阈值超过的。算出来得这两个结果集有什么用呢,打分算法需要用到这两个结果集,即与选定与与否无关的一个结果集和选定的得分结果集,这俩结果集塞到打分算法里面,这个打分算法自动的就会给我们返回一个分数,打分算法已经写好了,根据结果集会自动返回一个分数,分数就数据计算出来的分数。数据计算出来的分数有了,要判断是不是爬虫,得有个爬虫的阈值,也就是流程中的11,就是最终的分界线,而得分就是根据数据算出来的

  image.png

数据计算出来的分数有了,要判断是不是爬虫,得有个爬虫的阈值,在爬虫判断程序里,判断逻辑,如果得分儿大于爬虫阈值,那么我就返回一个 TURE,那就表示它是爬虫,如果我的分数小于爬虫阈值,那么我就返回一个 FALSE,那就表示它不是是爬虫。最后就得到了这个结论,到底是不是爬虫。

image.png

 

三、爬虫识别流程-数据入库

识别完以后再做数据的入库,知道了是不是爬虫,不是爬虫的不关心,就把非爬虫数据过滤掉,只保留爬虫数据,那爬虫数据里面有可能会有重复数据,再做个爬虫去重,去重完了以后,把它写到 Redis 里面就结束。

image.png

回顾总体过程,指标计算计算那八个结果,然后爬虫识别,实际上就是指标计算、最终打分,打完分后根据数据的分数和阈值的分数去判断它俩谁大,得出究竟是不是爬虫,知道是否是爬虫后,再去重,非爬虫过滤,然后写入Redis。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
打赏
0
0
0
0
127
分享
相关文章
Python爬虫之极验滑动验证码的识别
了解极验滑动验证码、特点、识别思路、初始化、模拟点击、识别缺口、模拟拖动。
579 0
Python爬虫与数据可视化:构建完整的数据采集与分析流程
Python爬虫与数据可视化:构建完整的数据采集与分析流程
Python爬虫之点触验证码的识别
点触验证码识别思路,初始化,获取,识别。
278 0
Python爬虫之点触验证码的识别
「Python」爬虫-7.验证码的识别
> 本文主要介绍如何处理一些网页中简单的验证码问题。~~(只提供简单的思路,随着技术的发展,一些验证码已经防范的非常好了,一般的解决方法可能过不了验证码这一关🤺~~
453 0
Python爬虫之图形验证码的识别
python爬虫逆向图形验证码分析,处理和测试实战。
211 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等