seo爬虫项目分为四个大模块:爬虫调度模块、线下爬虫模块、线下分析模块和下上分析模块。其中爬虫调度模块是核心,由调度模块去线上分析模块中的接口获取爬虫要获取的项目、关键词、竞品。触发线下爬虫。执行线下爬虫模块,线下爬虫爬取7个搜索引擎和收录的数据,一部分中到redis、mysql,另一部分数据存到rabbitmq,调用线上分析模块中监听rabbitmq的类把数据时行存储。
 
调度模块中判断当条件符合的情况下,执行线下分析模块,利用多线程把爬取的数据进行分析,根据日期和租户生成文件目录,将对应的项目、关键词爬取的数据保存成txt文件,当所有租户的爬取数据分析完成后,调用调度模块中的方法,将其生成的txt文件压缩上传到线上,再时行减压,所有操作完成后调用线上分析模块中的分析方法,利用多线程对线下分析生成的6张的数据进行分析入库,根据租户id进行分析保存,每个租户数据入库后,如果有收录热点数据再生成收录任务放到redis队列中,由线下爬虫再进行爬取数据,爬取完成后再次调用线上分析中的接口把收录数据入库。线上分析数据完成后调用Majestic国外接口,开始获取外链数据,将获取的到外链数据入库。整个流程完成后由定时任务发起的爬虫形成一个闭环,每只模块之间相互调用,爬取数据。