本文为《搞定大数据爬虫项目》学习,想通系统学习机器这个最火爆内容的同学,推荐学习课程:http://www.dajiangtai.com/course/7.do?sp=www_117
课程大纲
项目背景
1、了解传统广电收视率项目背景 2、用户数据有哪些价值点 3、哪些机构掌握这些数据 4、爬虫目标:互联网各大视频网站 |
项目总体需求
1、多维度统计:总播放指数、每日播放增量、评论数、收藏数、赞、踩 2、数据可视化:节目收视排行榜、多维度指标趋势图 |
难点分析
1、网站采取反爬策略 2、网站模板定期变动 3、网站URL抓取失败 4、网站频繁抓取IP被封 |
系统架构设计
1、总体架构解析 2、数据流向 3、功能模块划分 4、各个模块详细解读 |
技术选型
1、数据采集层 2、数据存储层 3、数据处理层 4、数据展示层 |
部署方案
1、爬虫项目:分布式集群 2、爬虫定时项目:一台服务器 3、爬虫项目监控:一台服务器 4、爬虫可视化:多台服务器 5、Hbase数据库:分布式集群 6、Redis数据库:分布式集群 7、Solr 全文检索:分布式集群 8、Zookeeper 监控:分布式集群 9、Solr 建立索引:一台服务器 10、邮件提醒:一台服务器 |
爬虫代码详尽实现
1、下载、解析视频网站详情页面url,提取关键字段数据 2、抽取视频网站解析规则模板,优化解析代码 3、打通数据爬虫的下载、解析、存储流程 4、采用Hbase存储爬虫数据,详解Hbase宽表和窄表设计以及爬虫项目表的详细设计,包含rowKey设计、列簇设计、历史版本 5、解析视频网站所有分页url并优化解析实现类 6、使用Queue队列存储视频网站所有url,实现视频网站url循环抓取 7、采用高、低优先级队列循环抓取视频网站url 8、采用Redis数据库实现url抓取优先级,并支持分布式爬虫 9、采用多线程爬虫,加快爬虫效率 10、定时启动爬虫项目 11、完善爬虫项目、补充抓取关键字段数据 |
全文检索
1、Lucene、Solr、ElasticSearch简介 2、全文检索过程:索引创建和搜索索引 3、解决全文检索的核心问题 4、Solr+Hbase组合提升检索效率 5、Solr 配置详解 6、Solr 安装部署 7、Solr 建立索引 8、Solr 检索视频网站数据 |
数据可视化
1、采用SpringMVC框架编写爬虫Web项目 2、编写Hbase工具类查询Hbase数据 3、编写Solr工具类检索爬虫数据 4、采用Freemarker或者jsp展示页面 5、采用Highcharts插件展示收视指数曲线图 6、打通爬虫整个项目流程,实时查看收视排行榜以及收视指数曲线图 |
项目优化一
1、设置合理的抓取时间间隔,模拟正常用户访问,降低IP被封概率 2、采用Redis 动态IP库,随机获取IP,随机抓取不同网站数据,降低同一IP对统一网站的访问频率 3、实现分布式爬虫,提高爬虫效率 |
项目优化二
1、Ganglia、Zookeeper简介 2、详解Zookeeper特性监控爬虫项目 3、完善爬虫项目注册Zookeeper集群 4、编写Watcher监视器监控爬虫项目生命周期 5、集群监控的整体联调 |
项目优化三
1、监控器监控爬虫项目异常,异常数据插入数据库 2、编写邮件Mail项目扫描爬虫项目异常信息,通知运维人员 3、编写定时器定时执行Mail项目 |