1.需求分析
数据很重要,所以让他爬...
2.难点分析
1.网站采取反爬策略
2.网站模板定期变动(标签变化)
3.网站URL抓取失败
4.网站频繁抓取IP被封
3解决方案
1.反爬策略
通过浏览器的方式访问
2.定期变动
不同的配置文件配置不同的网站规则; 数据库存储不同的规则模板;
3.url抓取失败
HTTP client 处理方式 尝试三次 ; storm 实时解析失败日志,将失败url加入失败仓库,尝试三次 ;
4.频繁抓取封ip
购买代理ip库,随机获取ip抓取数据
部署多个应用分别抓取,降低单节点频繁访问;
设置每个页面抓取时间间隔,降低被封概率
4.架构设计
1.总体架构解析
2.数据流向
3.模块划分
(1)数据采集模块
(2)数据分析模块
(3)报表管理模块
(3)系统管理与监控模块
5.技术选型
使用 Redis 数据库用来存储url 数据
使用HBase 存储抓取的数据
使用solr 处理数据
6.部署方案
1.爬虫项目: 多台服务器
2.网站爬虫分类url 定时项目: 一台服务器
3.HBase数据库:集群
4.Solr服务器: 集群
5.Redis服务器:集群
6.爬虫监控项目: 一台服务器
7. web项目: 多台服务器
8. zookeeper服务器: 集群