1.需求分析

数据很重要,所以让他爬...

2.难点分析

1.网站采取反爬策略

2.网站模板定期变动(标签变化)

3.网站URL抓取失败

4.网站频繁抓取IP被封

 

3解决方案

1.反爬策略

通过浏览器的方式访问

2.定期变动

不同的配置文件配置不同的网站规则;  数据库存储不同的规则模板;

3.url抓取失败

HTTP client 处理方式 尝试三次   ;  storm 实时解析失败日志,将失败url加入失败仓库,尝试三次 ;

4.频繁抓取封ip

购买代理ip库,随机获取ip抓取数据

部署多个应用分别抓取,降低单节点频繁访问;

设置每个页面抓取时间间隔,降低被封概率

 

4.架构设计

 

1.总体架构解析

java 网络爬虫项目(1)

 

2.数据流向

java 网络爬虫项目(1)

 

3.模块划分

java 网络爬虫项目(1)

(1)数据采集模块

java 网络爬虫项目(1)

(2)数据分析模块

java 网络爬虫项目(1)

(3)报表管理模块

 java 网络爬虫项目(1)

(3)系统管理与监控模块

 java 网络爬虫项目(1)

 

5.技术选型 

java 网络爬虫项目(1)

使用 Redis 数据库用来存储url 数据

使用HBase 存储抓取的数据

使用solr 处理数据

6.部署方案

1.爬虫项目: 多台服务器

2.网站爬虫分类url 定时项目: 一台服务器

3.HBase数据库:集群

4.Solr服务器: 集群

5.Redis服务器:集群

6.爬虫监控项目: 一台服务器

7. web项目: 多台服务器

8. zookeeper服务器: 集群

java 网络爬虫项目(1)

 

 

相关文章: