开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop 框架搭建)第一阶段:项目七个阶段总体介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/669/detail/11579
项目七个阶段总体介绍
回顾:
用来做海量数据存储的组件 hdfs ,海量数据做计算的组件 mapreduce,spark 等,做实时计算的 flink,storm,spark streaming, 做数据仓库的 hive ,快速查询的 hbase ,做数据接入的 flume ,消息组件 kafka 均为大数据生态系统中的核心的组件。
为更深入的了解以上的组件,通过项目的方式应用此类技术,增加对技术理解之外项目上的收获,本节课通过反爬虫项目为主项目进行巩固与掌握。
首先,明确爬虫的概念
即:互联网上的爬虫,按照一定的规则或者规律,自动、不间断、持续在互联网上爬取想要的数据,把数据发回到己方的数据库中,实际上是一个循环迭代的程序或者是一个脚本。
互联网上存在许多爬虫进行爬取,企业若是遭到爬虫多次爬取公司重要资源,则公司本部系统会受到严重影响,企业为防止这种情况的发生,实行反爬虫项目,即识别爬虫,并剔除。
以下内容进行阶段划分:(目标)了解反爬虫项目的阶段划分,以及每个阶段要学习的内容。
内容介绍:
第一阶段:
反爬虫项目的总体介绍,主要包括(背景、需求、流程、架构、 openresty 介绍、 lua 语法学习)
第二阶段:
Lua 采集数据写入 kafka 搭建项目、 streaming 读取 kafka 数据、链路统计功能实现
第三阶段:
实现数据预处理的数据清洗、脱敏、拆分、分类(飞行类型/操作类型,单程/往返)、解析等功能。
第四阶段:
实现数据预处理的数据历史爬虫、结构化、数据推送、数据预处理监控、前端读取后端数据等功能。
(此图为前端登录界面后进入后的窗口)
第五阶段:
读取预处理后的数据、进行封装、分别统计八个指标的数据。
单位时间内的 IP 端访问量(前两位)
某个 IP, 单位时间内总访问量
某个 IP, 单位时间内的关键页面访问总量
某个 IP, 单位时间内的 UA 种类数统计
某个 IP, 单位时间内的关键页面最短访问间隔
某个 IP, 单位时间内小于最短访问间隔(自设)的关键页面查询次数
某个 IP, 单位时间内查询不同行程的次数
某个 IP, 单位时间内关键页面的访问次数的 cookie 数
第六阶段:
根据已经算出的八项指标结果,进行爬虫识别。剔除非爬虫数据、写入 Redis ,写入 HDFS,Redis 数据恢复等。
第七阶段:
爬虫分析性能的计算与监控、离线指标分析。