反爬虫监控系统__Day01
简介
什么是爬虫?
爬虫能获取目的网页中的内容:例如商品的信息、编号、内容、介绍、图、链接(这是最基本的功能)
重要特性:往往是一次到位直接进入对应的页面,这与普通用户的操作不同
百度百科:
是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本
网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:
通用网络爬虫(General Purpose Web Crawler)-> 把url取过来,通过递归的方式获取主页中的其他url,将其放到队列中,逐个抓去数据(数据范围大)
聚焦网络爬虫(Focused Web Crawler)-> 确定某一个范围的内容进行抓取信息 -- 通过算法确定范围
增量式网络爬虫(Incremental Web Crawler)-> 对于已经下载的网页,爬取发生变化的内容 -- 减少了网络IO的产生
深层网络爬虫(Deep Web Crawler)-> 爬取深层网页,深层次的爬取内容,比如:可以模拟人的注册操作进行爬取注册后的页面;或者是某些福利页面,需要人的行为配合的页面;又或者是用户提交一些关键词才可;比如是买票、占座等等 ------- 主要是反这类的爬虫
实际的网络爬虫系统通常是几种爬虫技术相结合实现的
系统功能
简介:
数据管理:数据采集、分类、处理、结构化
流程管理:链路(说白了等于一个服务器)的统计,实时监控,执行相应的策略
策略管理:根据对应的算法进行关联规则的分析
规则管理:手动设置反爬虫
实时监控:监控集群负载情况,根据数据和对应的特性监控爬虫
数据可视化:前端实现即可
JS埋点生成数据并发送的过程
数据流程描述
步骤一:数据采集
1、将lua嵌入到数据采集器中
2、将采集的数据用脚本发送到kafka中
3、使用streaming消费Kafka数据,进行数据的过滤、脱敏、分类、结构化等操作,然后将数据发送到Kafka
步骤二:数据处理
1、离线处理,使用sparkcore/sql,统计报表、生成规则
2、将结果输出到mysql供web配置
步骤三:
1、通过streaming获取Kafka数据
2、根据配置,进行反爬业务处理
3、将反爬黑名单存入redis
4、获取redis黑名单数据,进行反爬过滤
逻辑架构设计
数据采集层:使用数据采集器(Lua),将数据采集到Kafka
数据处理层:读取Kafka的数据,进行数据清洗、脱敏、分类、解析、加工等,最后将结构化的数据再存入到Kafka中
实时计算层:获取web中的配置规则,再通过规则进行反爬虫计算,将计算结果存入Redis,后期备份到HDFS中
离线计算层:获取Kafka/HDFS数据进行报表指标分析,将结果存入mysql中,为web过滤配置提供服务
数据展示层:在web展示对应的结果数据,或者用于使用者手动改动其规则阈值
==============================================
使用WebProject的注意事项
0、安装tomcat
1、mysql要确定链接正确,否则页面404
redis也要更改
2、要在idea设置中更改好maven的位置
3、安装插件smart tomcat
4、刷新maven 理论上是ok的
5、配置configure,启动
6、进入页面要记住 /pages/index.jsp