数据预处理-历史爬虫判断-需求与实现思路|学习笔记

简介: 快速学习数据预处理-历史爬虫判断-需求与实现思路

开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop框架搭建)第四阶段数据预处理-历史爬虫判断-需求与实现思路】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/672/detail/11665


数据预处理-历史爬虫判断-需求与实现思路


历史爬虫判断

本质上第三阶段和第四阶段都属于预处理阶段,都属于蓝色部分,

image.png

在第四个阶段里做四件事情,第四阶段里面第一个历史爬虫的判断,是数据是否在历史爬虫中出现,还有是对数据进行结构化,因为前面把数据打散拆分开,然后再按照一定的格式拼接,拼接完以后再把数据推到 kafka 里面,推完以后要对整个数据预处理的所有过程进行性能的监控。

image.png

监控完以后会看到一个界面,里面有系统监控有实时流量转发、系统运行情况以及各列入流量转发情况,三个模块中会有数据,需要看三个数据分别是怎么从后端到前端的,需要看代码,这就是监控功能。再往后是查看 web 端查看监控信息,就是代码怎么从数据展现出来以后,从后台到前台展现出来是最后一个模块。

image.png

1、目标

判断当前批次的每一条数据是否在历史爬虫中出现过。

2、需求

在这个业务阶段,结合历史出现过的爬虫数据,我们需要针对此条数据的 ip 做一个判断,判断当前数据是否在历史爬虫中出现过。若出现过(高频IP),返回 True,反之返回 False

3、设计

(1)在 scc 初始化后,加载 kafka 数据前,初始化加载数据库黑名单数据到广播变量

(2)在加载 kafka 数据后,通过 Redis判断是否需要更新黑名单广播变量数据

(3)通过 remoteaddr 和 ip 黑名单数据进行高频 IP 判断,并返回标记(相等代表出现过,不相等代表没有出现过)

(4)高频 IP 表 itcast_ip_blacklist

IP 的 ID、历史出现过的 IP 名字、IP 以及级别。

image.png

属性打开设计表,第一个没说明 ID,第二个也没有,第三个0、1、2代表高频、中频和低频。然后里面的 IP 是真正历史出现过的 IP,假设说有把这三个读到程序里面,实际上又开始走流程。

image.png

4、代码

历史爬虫判断

(1)目标

结合历史出现过的爬虫数据,判断当前批次的每一条数据是否在历史爬虫中出现过。若出现过,返回 True,反之返回 False

(2)思路与关键代码:

①读取数据库内历史出现过的黑名单数据到预处理程序中

②将历史爬虫添加到广播变量、并循环判断是否需要更新(内含多个步骤,此处省略)

③将数据中的 ip 与历史出现过的黑名单 IP 数据进行对比,判断是否相等

④若有任意一个是相等的返回 true,反之返回 false

//7 历史爬虫判断

//1读取数据库内历史出现过的黑名单数据到预处理程序中

//2将历史爬虫添加到广播变量、并循环判断是否需要更新(内含多个步骤,此处省略)

//3将数据中的 ip 与历史出现过的黑名单 IP 数据进行对比,判断是否相等

//4若有任意一个是相等的返回 true ,反之返回 false

相关文章
|
数据采集 SQL 消息中间件
数据预处理-历史爬虫判断-实现代码及效果|学习笔记
快速学习数据预处理-历史爬虫判断-实现代码及效果
142 0
数据预处理-历史爬虫判断-实现代码及效果|学习笔记
|
数据采集 算法 大数据
爬虫识别-总结及效果| 学习笔记
快速学习爬虫识别-总结及效果
爬虫识别-总结及效果| 学习笔记
|
数据采集 存储 消息中间件
爬虫识别-准备离线计算数据| 学习笔记
快速学习爬虫识别-准备离线计算数据
爬虫识别-准备离线计算数据| 学习笔记
|
数据采集 大数据 数据库
爬虫识别-指标碰撞-准备数据代码实现| 学习笔记
快速学习爬虫识别-指标碰撞-准备数据代码实现
爬虫识别-指标碰撞-准备数据代码实现| 学习笔记
|
数据采集 算法 大数据
爬虫识别-指标碰撞-准备数据 avi| 学习笔记
快速学习爬虫识别-指标碰撞-准备数据 avi
爬虫识别-指标碰撞-准备数据 avi| 学习笔记
|
数据采集 存储 算法
爬虫识别-指标碰撞-代码实现| 学习笔记
快速学习爬虫识别-指标碰撞-代码实现
爬虫识别-指标碰撞-代码实现| 学习笔记
|
数据采集 分布式计算 NoSQL
爬虫识别-爬虫写入 Redis-效果及总结| 学习笔记
快速学习爬虫识别-爬虫写入 Redis-效果及总结
爬虫识别-爬虫写入 Redis-效果及总结| 学习笔记
|
数据采集 存储 分布式计算
爬虫识别-爬虫写入 Redis| 学习笔记
快速学习爬虫识别-爬虫写入 Redis
爬虫识别-爬虫写入 Redis| 学习笔记
|
数据采集 消息中间件 分布式计算
爬虫识别-爬虫数据去重| 学习笔记
快速学习爬虫识别-爬虫数据去重
爬虫识别-爬虫数据去重| 学习笔记
|
数据采集 分布式计算 监控
爬虫识别-爬虫识别效率监控| 学习笔记
快速学习爬虫识别-爬虫识别效率监控
爬虫识别-爬虫识别效率监控| 学习笔记
下一篇
无影云桌面