- 前言:学完java后做的一个小项目练练手,在此分享一下。
本反爬虫系统将采取B/S架构,遵从MVC规范,使用SSM框架(即SpringMVC、Spring、Mybatis整合的简称),websocket、echarts和bootstrap等技术,实现服务端的用户请求数据与主机状态信息的采集,爬虫的识别与拦截,前后端的实时通信,数据的可视化等功能。
- 用户模块:在该模块下,用户可以通过前台的web界面,在输入正确的用户名、密码之后,点击登录按钮登录系统。若登陆账户为system账户,则可以通过该模块对普通账户的信息进行增删查改。
- 数据采集模块:在该模块下,系统会自动周期性的对服务器状态数据和用户请求数据进行收集,以便于后期的数据分析。
- 规则管理模块:在该模块下,用户可以通过前台的web页面进行可视化的反爬虫规则配置管理,包括referer规则配置、userAgent规则配置、keyPages规则配置、封禁时间规则配置和数据分析间隔规则配置。
- 流程管理模块:在该模块下,用户可以通过前台的web页面进行可视化的流程策略配置管理,以便在合适的场景下采用恰当的流程策略。
- 实时计算模块:在该模块下,系统会自动的将由数据采集模块收集得到的数据结合反爬虫策略,进行爬虫的识别,实时地剔除爬虫流量,保证服务的正常提供。
- 数据持久化模块:在该模块下,系统将由数据采集模块收集得到的数据、用户制定的反爬虫规则以及反爬结果等信息持久化到数据库中,以便进行爬虫分析以及后期的数据展示。该模块由系统自动的定时完成,无需用户手动操作。
- 实时监控模块:在该模块下,用户可以清晰方便地看到服务器的状态信息与链路流量转发情况。
- 数据可视化模块:在该模块下,系统可以将服务器状态信息与链路流量信息制作成图表,向用户展示不同时间内爬虫对系统稳定性的影响。
- 部署环境:
- Centos7
- apache-tomcat-9.0.29
- mysql-5.5.36-win32
- openresty-1.13.6.1
- JDK 1.8.0_191
- Lua 5.1.4
- 部署步骤

