爬虫识别-指标碰撞-实现思路| 学习笔记

简介: 快速学习爬虫识别-指标碰撞-实现思路

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

课程地址:https://developer.aliyun.com/learning/course/674/detail/11719


爬虫识别- Redis 爬虫数据备份-代码解读

目录

一、回顾

二、指标碰撞实践

三、指标碰撞步骤

 

一、回顾

之前将数据碰撞的准备数据代码写完,数据的提取,提取后将数据转换为 Map 类型,将 Map 和数据库中配置的流程数据流程规则的阈值放到 calculateFlowsScore 方法里,最终返回样例列,如下

AntiCalculateResultmessage: ProcessedData

ip:string,

ipBlockCounts:Int,

ipCounts:Int,

criticalPagesCounts:Int,

userAgentCounts:Int,

minTimeDiff:Int

lessDefaultTimes:Int

differentJourneysCounts:Int,

ipCookCount:Int,

flowsScore:Array[FlowScoreResult])

flowsScore:Array[FlowScoreResult]) 参数没有,让碰撞方法返回此类型能计算出结果。calculateFlowsScoredataParamsflowList 报红,方法没有返回,要 Array 类型的数据。进行指标碰撞返回flowsScore:Array[FlowScoreResult]类型,不报错。

 

二、指标碰撞实践

//1指标碰撞(碰撞)

def calculateFlowsScore(dataParams:Map[stringInt]flowList:Arr

ayBuffer[Flowcollocation]):Unit ={

val flowScore=new ArrayBuffer 类型是[FlowScoreResult], flowS

core 进行返回,报红,返回的是 Array,调用 ArrayBuffer。将 flowsS

Core .toArray,不报错。

val flowsScore=new ArrayBuffer[FlowscoreResult]()

flowsscore.toArray

封装 flowsScore 做返回,实际上是一层套一层。缺 flowsScore,完善 flowsScore,同时将数据做碰撞。

 

三、指标碰撞步骤

1、根据算法需求实例两个 ArrayBuffer

假设指标碰撞已有,输出结果是与选定与否无关得分结果集、选定的得分结果集,结果是由打分算法输入的参数进行设置,打分要什么,指标碰撞给什么,输出的数据是打分算法想要的。根据算法想要的数据设置两个 ArrayBuffer,与选定与否无关得分结果集、选定的得分结果集。

一个选定与否无关的数据分数

一个必须是选定状态的并且数据的结果大于配置的值的分数

2、遍历流程数据,获取流程内的规则

遍历流程数据是 flowList,拿到一个流程有很多数据和规则。

3、获取规则内的阈值

4、获取数据计算出的结果

拿出 Map 提出的数据

5、数据对比

数据计算的结果大于阈值,根据需求将分数写入相应的ArrayBuffer

数据计算的结果小于阈值,根据需求填入ArrayBuffer(是否需要填写)

数据计算出的值与数据库中阈值进行对比,如果计算结果大于阈值要分数。

为了封装两个 ArrayBuffer,一个选定与否无关的数据分数,一个必须是选定状态的并且数据的结果大于配置的值的分数,两个数据最终给打分算法使用。

指标碰撞分析将数据计算的值与企业配置的阈值进行对比,为打分算法准备数据,碰撞为打分算法准备数据。

流程拿到开发工具

//1根据算法需求实例两个 ArrayBuffer

//一个选定与否无关的数据分数

//一个必须是选定状态的并且数据的结果大于配置的值的分数

//2遍历流程数据,获取流程内的规则

//3获取规则内的阈值

//4获取数据计算出的结果

//5数据对比

//数据计算的结果大于阈值,根据需求将分数写入相应的 ArrayBuffe

r

//数据计算的结果小于阈值,根据需求填入 ArrayBuffer(是否需要填写)

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
数据采集 机器学习/深度学习 安全
Python爬虫之极验滑动验证码的识别
了解极验滑动验证码、特点、识别思路、初始化、模拟点击、识别缺口、模拟拖动。
1661 0
|
数据采集 人机交互 API
「Python」爬虫-7.验证码的识别
> 本文主要介绍如何处理一些网页中简单的验证码问题。~~(只提供简单的思路,随着技术的发展,一些验证码已经防范的非常好了,一般的解决方法可能过不了验证码这一关🤺~~
713 0
|
数据采集 Web App开发 文字识别
Python爬虫之点触验证码的识别
点触验证码识别思路,初始化,获取,识别。
793 0
Python爬虫之点触验证码的识别
|
数据采集 文字识别 开发者
Python爬虫之图形验证码的识别
python爬虫逆向图形验证码分析,处理和测试实战。
763 0
|
数据采集 SQL 消息中间件
数据预处理-历史爬虫判断-实现代码及效果|学习笔记
快速学习数据预处理-历史爬虫判断-实现代码及效果
292 0
数据预处理-历史爬虫判断-实现代码及效果|学习笔记
|
数据采集 监控 前端开发
数据预处理-历史爬虫判断-需求与实现思路|学习笔记
快速学习数据预处理-历史爬虫判断-需求与实现思路
351 0
数据预处理-历史爬虫判断-需求与实现思路|学习笔记
|
数据采集 算法 大数据
爬虫识别-总结及效果| 学习笔记
快速学习爬虫识别-总结及效果
爬虫识别-总结及效果| 学习笔记
|
数据采集 存储 消息中间件
爬虫识别-准备离线计算数据| 学习笔记
快速学习爬虫识别-准备离线计算数据
爬虫识别-准备离线计算数据| 学习笔记
|
数据采集 测试技术 C++
无headers爬虫 vs 带headers爬虫:Python性能对比
无headers爬虫 vs 带headers爬虫:Python性能对比
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
678 6