资源详情
本项目采用JA危a语言实现,绝对基于真实的爬虫项目进行改进和优化,希望进一步提升大家的大数据项目经验。本项目基本涵盖了爬虫项目的整个流程,包括数据爬虫、全文检索、数据可视化、爬虫项目监控、爬虫项目维护等等。解决了爬虫项目中遇到的棘手问题,包括破解网站反爬策略、网站模板定期变更、网站频繁访问IP被封等等问题。
课程特色
1、基于绝对真实的爬虫项目进行优化和拆解,大幅提升Hadoop综合项目经验,年后跳槽面试绝对不心虚。
2、涵盖爬虫项目完整流程,包括数据爬虫、全文检索、数据可视化、爬虫项目监控、爬虫项目维护等等。
3、手把手教你破解爬虫项目中遇到的棘手难题,包括破解网站反爬策略、网站模板定期变更、网站频繁访问IP被封等等。
4、每一行代码都可以100% Get到,绝不走马观花,30天搞定大数据爬虫项目,妥妥的!
项目涉及技术
基础要求
本课程面向有JA危a基础,有Hadoop大数据平台基础,希望进一步学习大数据爬虫项目的朋友;
课程大纲
一、项目背景
1、了解传统广电收视率项目背景xa0
2、用户数据有哪些价值点xa0
3、哪些机构掌握这些数据xa0
4、爬虫目标:互联网各大视频网站xa0
二、项目总体需求
1、多维度统计:总播放指数、每日播放增量、评论数、收藏数、赞、踩xa0
2、数据可视化:节目收视排行榜、多维度指标趋势图xa0
三、难点分析
1、网站采取反爬策略xa0
2、网站模板定期变动xa0
3、网站URL抓取失败xa0
4、网站频繁抓取IP被封xa0
四、系统架构设计
1、总体架构解析xa0
2、数据流向xa0
3、功能模块划分xa0
4、各个模块详细解读xa0
五、技术选型
1、数据采集层xa0
2、数据存储层xa0
3、数据处理层xa0
4、数据展示层xa0
六、部署方案
1、爬虫项目:分布式集群xa0
2、爬虫定时项目:一台服务器xa0
3、爬虫项目监控:一台服务器xa0
4、爬虫可视化:多台服务器xa0
5、Hbase数据库:分布式集群xa0
6、Redis数据库:分布式集群xa0
7、Solr 全文检索:分布式集群xa0
8、Zookeeper 监控:分布式集群xa0
9、Solr 建立索引:一台服务器xa0
10、邮件提醒:一台服务器xa0
七、爬虫代码详尽实现
1、下载、解析视频网站详情页面url,提取关键字段数据xa0
2、抽取视频网站解析规则模板,优化解析代码xa0
3、打通数据爬虫的下载、解析、存储流程xa0
4、采用Hbase存储爬虫数据,详解Hbase宽表和窄表设计以及爬虫项目表的详细设计,包含rowKey设计、列簇设计、历史版本xa0
5、解析视频网站所有分页url并优化解析实现类xa0
6、使用Queue队列存储视频网站所有url,实现视频网站url循环抓取xa0
7、采用高、低优先级队列循环抓取视频网站urlxa0
8、采用Redis数据库实现url抓取优先级,并支持分布式爬虫xa0
9、采用多线程爬虫,加快爬虫效率xa0
10、定时启动爬虫项目xa0
11、完善爬虫项目、补充抓取关键字段数据xa0
八、全文检索
1、Lucene、Solr、ElasticSearch简介xa0
2、全文检索过程:索引创建和搜索索引xa0
3、解决全文检索的核心问题xa0
4、Solr+Hbase组合提升检索效率xa0
5、Solr 配置详解xa0
6、Solr 安装部署xa0
7、Solr 建立索引xa0
8、Solr 检索视频网站数据xa0
九、数据可视化
1、采用SpringMVC框架编写爬虫Web项目xa0
2、编写Hbase工具类查询Hbase数据xa0
3、编写Solr工具类检索爬虫数据xa0
4、采用Freemarker或者jsp展示页面xa0
5、采用Highcharts插件展示收视指数曲线图xa0
6、打通爬虫整个项目流程,实时查看收视排行榜以及收视指数曲线图xa0
十、项目优化一
1、设置合理的抓取时间间隔,模拟正常用户访问,降低IP被封概率xa0
2、采用Redis 动态IP库,随机获取IP,随机抓取不同网站数据,降低同一IP对统一网站的访问频率xa0
3、实现分布式爬虫,提高爬虫效率xa0
十一、项目优化二
1、Ganglia、Zookeeper简介xa0
2、详解Zookeeper特忄生监控爬虫项目xa0
3、完善爬虫项目注册Zookeeper集群xa0
4、编写Watcher监视器监控爬虫项目生命周期xa0
5、集群监控的整体联调xa0
十二、项目优化三
1、监控器监控爬虫项目异常,异常数据插入数据库
2、编写邮件Mail项目扫描爬虫项目异常信息,通知运维人员
3、编写定时器定时执行Mail项目