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

本文涉及的产品
云数据库 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

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

相关文章
|
20小时前
|
数据采集 数据挖掘 API
主流电商平台数据采集API接口|【Python爬虫+数据分析】采集电商平台数据信息采集
随着电商平台的兴起,越来越多的人开始在网上购物。而对于电商平台来说,商品信息、价格、评论等数据是非常重要的。因此,抓取电商平台的商品信息、价格、评论等数据成为了一项非常有价值的工作。本文将介绍如何使用Python编写爬虫程序,抓取电商平台的商品信息、价格、评论等数据。 当然,如果是电商企业,跨境电商企业,ERP系统搭建,我们经常需要采集的平台多,数据量大,要求数据稳定供应,有并发需求,那就需要通过接入电商API数据采集接口,封装好的数据采集接口更方便稳定高效数据采集。
|
23天前
|
数据采集 开发者 Python
Python爬虫实战:利用Beautiful Soup解析网页数据
在网络爬虫的开发过程中,数据解析是至关重要的一环。本文将介绍如何利用Python的Beautiful Soup库来解析网页数据,包括解析HTML结构、提取目标信息和处理特殊情况,帮助开发者更好地实现爬虫功能。
|
25天前
|
数据采集 机器学习/深度学习 搜索推荐
探索数据之海——网络爬虫与数据抓取技术的应用与发展
在当今信息爆炸的时代,获取大量高质量的数据成为各行各业的迫切需求。网络爬虫和数据抓取技术作为一种有效的手段,正在被广泛应用于各个领域。本文将深入探讨网络爬虫的原理、应用场景以及未来的发展趋势,为读者带来关于数据抓取技术的全面了解。
167 5
|
26天前
|
Web App开发 数据采集 JavaScript
【Python爬虫】<万物可爬>Selenium+自动化测试工具 获取数据
【1月更文挑战第22天】【Python爬虫】<万物可爬>Selenium+自动化测试工具 获取数据
|
26天前
|
数据采集 大数据 调度
利用aiohttp异步爬虫实现网站数据高效抓取
利用aiohttp异步爬虫实现网站数据高效抓取
|
30天前
|
数据采集 数据挖掘 数据处理
探索数据世界之门:Python爬虫与数据抓取技术
在信息爆炸的时代,数据成为了无处不在、无所不包的珍贵资源。而Python爬虫与数据抓取技术作为一道通向数据世界的大门,为我们提供了强大的工具和方法。本文将深入探讨Python爬虫的原理与应用,以及数据抓取技术的重要性,帮助读者更好地了解并利用这一技术。
|
1月前
|
数据采集 搜索推荐 数据处理
探索数据的无尽可能性:网络爬虫与数据抓取技术
本文将深入探讨网络爬虫与数据抓取技术的重要性和应用,介绍其在信息收集、市场分析、学术研究等领域的广泛应用。我们将探索这一技术的原理、挑战和发展前景,并展望未来数据抓取技术的潜力。
28 0
|
1月前
|
数据采集 JSON API
使用phpQuery库进行网页数据爬虫案例
使用phpQuery库进行网页数据爬虫案例
|
2月前
|
数据采集 XML 数据格式
python爬虫入门篇:如何解析爬取到的网页数据?试下最简单的BeautifulSoup库!
前面笔记解析了如何使用requests模块向网站发送http请求,获取到网页的HTML数据。这篇我们来如何使用BeautifulSoup模块来从HTML文本中提取我们想要的数据。Beautiful Soup,简称bs4,是Python的一个HTML或XML的解析库,一般用它来从网页中提取数据。
49 1
|
2月前
|
数据采集 Python
Python爬虫:实现爬取、下载网站数据的几种方法
Python爬虫:实现爬取、下载网站数据的几种方法
78 1