爬虫识别-准备离线计算数据| 学习笔记

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 快速学习爬虫识别-准备离线计算数据

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

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


爬虫识别-准备离线计算数据

内容介绍:

一、黑名单 Redis 数据恢复

二、存储规则计算结果 RDD HDFS

 

一、黑名单 Redis 数据恢复

黑名单数据从 HDFS 恢复到 Redis 这个过程,这个项目里面实际上是有数据的备份和恢复的过程。先做备份,如果有丢失的就做恢复。

 

二、存储规则计算结果 RDD HDFS

主要是做离线分析的

1、实际上数据采集和数据预处理、实时计算都做好了,但是第七步、第八步、第九步都没有做,第七部是剔除,第八步是做数据的读取写到HDFS 里面,主要数据来源于第四步数据预处理写到Kafka 集群,5-1 进行爬虫识别,这里面要将5-1里面读取过来的原始数据直接原封不动,直接写在HDFS 里面,用来做离线报表的支撑。写到HDFS后再去做离线计算,也就是第九步,计算出来的结构写到Mysql 里面,离线计算就做完了。

2、存储规则计算结果RDD HDFS+ 实时计算性能监控

将经过预处理的数据写入HDFS,为离线分析准备数据。

3、需求

将计算结果Rdd 存储到HDFS,便于后期做离线统计报表使用,此功能需要打包到线上运行,因为本地的local模式会在本地hiveContent环境,而本地并没有。

4、KafkaValue 要做重点强调,回到前面八个指标用到的数据是processedData,这个processedData 是从kafkadatas 里面把数据读过来,然后获取valuevalue就是我数据真正的值,然后将value转化成了processedData,这个 里面就是processedData 的类型,而现在做离线分析不要processedData类型,要的是原始数据,要#cs#拼接的那个,不要你封装好的那个,所以离线分析要在这个数据上拿,不经过任何处理,读过来直接给我,所以计算结果数据RDDHDFS 就要原始数据,遍历出每一条数据。

5、Data 然后 SimpleDateFormat 然后按照年月日时的格式来把当前系统时间按按照年月日时的格式来进行格式化,格式化好了以后,data拿到了以后.replacce斜杠、空转换成int,也就是说把年月日时这个格式字符串把斜线换成了一个空,转换成了一个int类型。然后这就是一个大的int,这个 int 用来干嘛,这里有个pathpath里面去读取了配置文件读取写进去的路径,路径拿到以后,后面加了一个ITcast又加了年月日时,他就没有斜线了,然后这是一个路径,现在路径有了,接下来就是sc.textFile 要写数据了,数据写在前面拼好这个路径,加一个part-00000,然后将数据与他们的关系对应起来,然后numPartitions一下,做一个分区,然后.saveAsTextFile保存这个路径。

6、这个就是我们将数据写入到HDFS的过程。

image.png

也就是说从总体流程来看,5-1读取过来的数据什么都不操作,直接把它写到HDFS 里面,这就是第八步,写到这里就已经为离线分析准备好了数据。

7、把数据预处理跑起来,爬虫也跑起来,然后把数据计算也就是爬虫识别跑起来,没有报错就回到路径里面来,在刷新一下这个界面,(1)就会出现为离线分析准备的数据都放在ITcast这个里面

image.png

2)然后 ITcast 里面有一个年月日时的目录

3)在点进去就有一个 part-00000 part-0000 里面就是数据。

它是一个 processedData ,用逗号拼接的。我们调用的是用#cs#分隔的。

4)点击 part-00000

(5)点击进入之后,点击 Download

6)显示出下图界面

image.png

7)然后下载,点击确定

8)下载完成后,打开

9)点击进入part-00000,用notepad++打开

 image.png

10)前面是null,后面#CS#拼接post等好多数据

image.png

这个就是前面预处理的结果打到kafka, 5-1kafka读取过来后直接写到HDFS ,然后我们下载到本地看了一下就是这些前面预处理后的结果。只不过爬虫比较单一,数据也都是假的,看到的数据特别规整,但是实际生产的数据可能不是特别规整的,什么样的都有。

8、代码是实时运行的,可以看数据量增加了没有、

1)可以看到数据现在是55.27KB

2)刷新之后 134.65KB

image.png

这个就是数据写到 HDFS 的过程。后续进行离线计算的数据就有了。

规则匹配和打分并进行阈值判断

剔除非黑名单数据

黑名单数据去重

黑名单 Redis 数据恢复

黑名单数据备份到 Redis

黑名单数据实时存储 hdfs,用于 Redis 数据恢复

存储规则计算结果 RDD HDFS

以上都做了,第六阶段结束。

相关文章
|
29天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
2月前
|
数据采集 存储 XML
给你一个具体的网站,你会如何设计爬虫来抓取数据?
【2月更文挑战第23天】【2月更文挑战第75篇】给你一个具体的网站,你会如何设计爬虫来抓取数据?
|
2月前
|
数据采集 存储 XML
深入浅出:基于Python的网络数据爬虫开发指南
【2月更文挑战第23天】 在数字时代,数据已成为新的石油。企业和个人都寻求通过各种手段获取互联网上的宝贵信息。本文将深入探讨网络爬虫的构建与优化,一种自动化工具,用于从网页上抓取并提取大量数据。我们将重点介绍Python语言中的相关库和技术,以及如何高效、合法地收集网络数据。文章不仅为初学者提供入门指导,也为有经验的开发者提供进阶技巧,确保读者能够在遵守网络伦理和法规的前提下,充分利用网络数据资源。
|
3月前
|
数据采集 数据可视化 数据挖掘
Python爬虫实战:抓取网站数据并生成报表
本文将介绍如何使用Python编写简单而高效的网络爬虫,从指定的网站上抓取数据,并利用数据分析库生成可视化报表。通过学习本文内容,读者将能够掌握基本的爬虫技术和数据处理方法,为日后开发更复杂的数据采集与分析工具打下坚实基础。
|
2月前
|
数据采集 机器学习/深度学习 安全
Python爬虫之极验滑动验证码的识别
了解极验滑动验证码、特点、识别思路、初始化、模拟点击、识别缺口、模拟拖动。
91 0
|
22天前
|
数据采集 XML 数据挖掘
使用Python打造爬虫程序之HTML解析大揭秘:轻松提取网页数据
【4月更文挑战第19天】本文介绍了HTML解析在爬虫技术中的重要性,并通过Python的BeautifulSoup库展示了如何解析和提取数据。文章涵盖了HTML文档结构、使用BeautifulSoup的基本方法,如`find_all()`、选择器(标签、类、ID选择器)以及提取文本、属性和链接。此外,还讨论了遍历和处理嵌套元素的技巧。
|
2月前
|
数据采集 JavaScript 前端开发
给我举几个爬虫抓取数据时遇到错误的例子。
【2月更文挑战第23天】【2月更文挑战第76篇】给我举几个爬虫抓取数据时遇到错误的例子。
|
2月前
|
数据采集 Web App开发 文字识别
Python爬虫之点触验证码的识别
点触验证码识别思路,初始化,获取,识别。
74 0
Python爬虫之点触验证码的识别
|
2月前
|
数据采集 文字识别 开发者
Python爬虫之图形验证码的识别
python爬虫逆向图形验证码分析,处理和测试实战。
59 0
|
2月前
|
数据采集 存储 数据挖掘
Python爬虫实战:打造一个简单的新闻网站数据爬取工具
本文将介绍如何运用Python编写一个简单而高效的网络爬虫,帮助您在实际项目中快速获取并存储新闻网站的数据。通过学习本文,您将了解到如何利用Python中的第三方库和技术来实现数据爬取,为您的数据分析和应用提供更多可能性。