代码拉取完成,页面将自动刷新
同步操作将从 sixliu/crawler 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
1:clone exCrawler项目
2:进入springboot目录下 命令行 mvn eclipse:eclipse
3:进入exCrawler目录下 命令行 mvn eclipse:eclipse
4:将exCrawler/oklib下的jar替换到本地Maven库对应的jar包
5:打开eclipse,导入exCrawler为可执行的Maven项目.
6:StartMain 是整个项目的启动类
7:SchedulerManager 实现了任务的调度
8:AbstractCrawlWorker 是整个爬虫工作流程类,采用模板设计模式
9:AbstractWorker 是整个worker流程类(跟业务没关系),采用模板设计模式
10:mysql初始化脚本 在src/main/script 下
整个系统分层:
后台管理api层
后台管理服务层
任务调度层
节点基础层
数据存储层
执行任务流程:
人为触发任务------
-->主节点执行任务,在缓存中初始化任务执行信息--->主节点计算出执行任务的节点List---->call工作节点执行任务--->
定时触发任务------
---->工作节点接收到主节点执行任务的信号--->工作节点创建worker--->工作节点运行worker--->通知主节点worker运行--->
---->主节点接收到工作节点worker运行信息,并登记运行信息--->
--->工作空间处理数据为空--->任务完成
---->worker运行--->停止 ----工作节点worker通知主节点,worker运行结束--->
--->手动停止--------------->任务停止
---->主节点接收到工作节点worker运行结束信号--->检查任务的全部worker是否结束--->没有全部结束,不做任何处理
---->全部结束,统计各worker的运行信息,并生成运行任务运行记录入库,删除缓存中任务运行记录--->
---->如果任务是完成结束的话,那么检查检查任务是否有下一个执行任务
爬虫采集流程:
初始化种子链接到工作空间(工作空间由同一个任务下的所有worker共享)--->从工作空间读取处理数据--->没有读取到数据时爬虫任务视为finished
读取到处理数据--->下载前数据处理--->下载器处理数据--->下载后处理(接口可实现验证码识别和用户登录)
--->解析数据(支持普通的cssQuery抽取,表格单挑数据抽取,表格多条数据抽取,json抽取,正则抽取)--->解析后处理
--->存储(支持db保存,http发送,文件保存,其他存储等方式)
系统默认输出字段:
采集数据id(此id跟业务无关)
采集数据的workerName
采集数据的日期
采集数据的数据源url
监控概述:
1.对于目标网站健康度监控
2.对于目标网站版本监控
3.对于自身节点健康度监控
4.对于任务每次执行情况监控
5.对于代理ip健康度监控
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。