开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop 框架搭建)第五阶段:爬虫识别-爬虫识别流程回顾】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/673/detail/11687
爬虫识别-爬虫识别流程回顾
内容介绍:
一、 总体流程
二、 细化流程
一、 总体流程
目标就是了解流程有一个宏观的认识,知道是按照先后什么样的顺序来处理,第一个就是数据的读取和封装,然后第二步指标计算,第三步这个爬虫的识别,第四步数据入库,就按这四步走。首先读取数据,数据打入到 Kafka里面,从Kafka里面把它读出来,是一批一批读出来的,读出来后把它进行封装,封装成 process.d,这样就能后面用起来比较方便,然后去做指标计算,现在看是按顺序来的,其实顺序可以变,从详细流程中就可以知道,数据都是在一个批次中拿过来的,指标计算里的八个是没有先后顺序的,但总的四步是有先后顺序的,把八个计算出来以后,就进入到爬虫识别,根据数据计算出来的结果,碰撞是要把数据计算的结果与企业里面,针对这八个结果会有八个阈值,将数据和阈值进行匹配,匹配以后呢,得到一个结果,然后去打分,算法会给我一个分数,再用这个分数去爬虫判断,数据计算出来的分数和企业里面有一个最终的预知的分数,进行对比,判断它到底是不是爬虫,得到这个结论,即是不是爬虫,就将不是爬虫的数据过滤掉,只保留纯爬虫数据,爬虫数据有可能是重复的,把它做个去重,最后写入 Redis。
二、细化流程
1、计算每批数据的八种指标,数据都是在每一个批次封装后进行计算,计算完毕后将结果映射成 Map,我们要的是IP 和它的量,要的是8个 map,然后再拿到每条数据再提取
2、再取出每个批次中的每条数据内的 IP,到八个结果集里面(ip和值),用ip作为k去把值取出来,再计算后的八个结果集中提取出 IP 对应的值
3、将数据计算的八个结果值与企业配置的八个结果阈值及逆行碰撞,其结果有两个,计算出一个与选定与否无关的结果集,和一个必须是选的,并且是超出阈值的集合,超过阈值就取分数
4、将两个集合发送给打分算法,打分算法自动会返回一个最终的分数,这个分数就是对比是不是爬虫的根据
5、用计算后的分数与系统设置的最终阈值进行对比,若计算的得分大于最终阈值,表示这个数据是爬虫数据,返回 Ture。若计算的得分小于最终阈值,表示这个数据不是爬虫数据,返回 False,知道是不是爬虫后,把 False 的过滤掉,只保留 Ture 的。
6、确定哪些数据是爬虫,哪些数据不是爬虫后,过滤掉不是爬虫的数,只保留爬虫数据。再对爬虫数据进行去重,去重后将数据写入 Redis
后续工作都按这个流程来做。