爬虫识别-爬虫写入 Redis-效果及总结| 学习笔记

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 快速学习爬虫识别-爬虫写入 Redis-效果及总结

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

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


爬虫识别-爬虫写入 Redis-效果及总结

内容介绍:

一、展示

二、总结

 

一、展示

已经将识别出的黑名单数据写入到 Redis 中。此时,查看实际效果。首先需要将数据域代码运行。运行之后,找到爬虫右键进行执行。接下来将爬虫识别运行,识别时,也会将数据写入到 Redis 中。看到分数之后,证明爬虫已经运行成功。

image.png

没有报错,也将数据写入到 Redis 中。刷新之后,结果如下:

image.png

BLACK 为前置的数据就是拼接出的黑名单,数据IP就是黑名单。数据出现,说明识别出的爬虫已经写入到Redis中。之后的时间、命名规则、名称等也存在于其中。此时证明爬虫识别写入到Redis中已经成功。将代码停止运行回到数据处理流程中:

image.png

在整个流程中,爬虫识别、读取数据和规则以及判断已经进行,判断完成之后,第六步,将数据写入到Redis也完成。第七步,是前端工程师需要做的事情。只需要将爬虫识别,识别出之后将其写入到Redis中,按照规则写入,前端工程师按照规则读取出Redis,直接到前端进行屏蔽即可。在LUA脚本中也写了读取Redis数据的脚本,读取完成之后做输出。这个工作由前端工程师完成。以上就是爬虫识别,写到Redis的过程。

 

二、总结

将数据写到Redis中,第一步就是遍历数据中的Rdd,将其进行序列化。代码如下:

blackDatas . foreachRDD(rdd=>{

val plackDatas: Array[ (String, Array[ FlowScoreResult])] = rdd.collect( )

}

第二步,遍历后的每一个数据获取出数据的IPFLOW score。代码如下:

for(blackData< -blackDatas){

//获取数据中的IP

val ip=blackData._ 1

//获取数据中的fLowsScore

val flowsScores: Array[FlowScoreResult]=blackData. 2

}

第三步,准备写入RedisKey。代码如下:

Val

key=PropertiesUtil. getStringByKey(

"cluster .key. anti_ black_ list" ,

"jedisConfig. Properties")

+"I"+

Ip

+"I"+

flowsScore. flowId

+"I"+

System. curr entTimeMillis() . toString

}

第四步,准备写入RedisTime,代码如下:

va1 time

=PropertiesUtil. getStr ingByKey(

" cluster . exptimeanti_ black. _list"

,"jedisConfig. properties"

). toInt

第五步,准备写入Redisvalue,代码如下:

val value=flowsScore. flowScore+"+flowsScore. hitRules+" "+flowsScore. hitTime

最后写入Redis数据,代码如下:

jedis. setex(key, time,value)

以上是将识别到的爬虫数据写入Redis,被剔除爬虫准备数据的过程。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3月前
|
存储 NoSQL Linux
小白带你学习linux的Redis基础(三十二)
小白带你学习linux的Redis基础(三十二)
60 0
|
2月前
|
存储 NoSQL Redis
redis源码学习
redis源码学习
|
3月前
|
存储 NoSQL Ubuntu
在Ubuntu上安装Redis并学习使用get、set和keys命令
在Ubuntu上安装Redis并学习使用get、set和keys命令
|
4月前
|
缓存 NoSQL Redis
【Redis 系列】redis 学习十六,redis 字典(map) 及其核心编码结构
【Redis 系列】redis 学习十六,redis 字典(map) 及其核心编码结构
|
4月前
|
NoSQL 算法 Redis
【Redis 系列】redis 学习十四,sorted_set 初步探究梳理
【Redis 系列】redis 学习十四,sorted_set 初步探究梳理
|
4月前
|
存储 NoSQL Redis
【Redis 系列】redis 学习十五,redis sds数据结构和底层设计原理
【Redis 系列】redis 学习十五,redis sds数据结构和底层设计原理
|
4月前
|
负载均衡 NoSQL Redis
【Redis 系列】redis 学习十,Redis 集群搭建和主从复制
【Redis 系列】redis 学习十,Redis 集群搭建和主从复制
|
2月前
|
NoSQL 中间件 API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)(下)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
47 2
|
2月前
|
NoSQL Java API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)(上)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
37 0
|
4月前
|
存储 NoSQL 算法
[Redis 系列]redis 学习 17,redis 存储结构原理 1
[Redis 系列]redis 学习 17,redis 存储结构原理 1

热门文章

最新文章