|
本项目采用Java语言实现,绝对基于真实的爬虫项目进行改进和优化,希望进一步提升大家的大数据项目经验。本项目基本涵盖了爬虫项目的整个流程,包括数据爬虫、全文检索、数据可视化、爬虫项目监控、爬虫项目维护等等。解决了爬虫项目中遇到的棘手问题,包括破解网站反爬策略、网站模板定期变更、网站频繁访问IP被封等等问题。: q: R3 m+ s! a
课程特色
1、基于绝对真实的爬虫项目进行优化和拆解,大幅提升Hadoop综合项目经验,年后跳槽面试绝对不心虚。
2、涵盖爬虫项目完整流程,包括数据爬虫、全文检索、数据可视化、爬虫项目监控、爬虫项目维护等等。: ?' A/ P5 s j r' ~
3、手把手教你破解爬虫项目中遇到的棘手难题,包括破解网站反爬策略、网站模板定期变更、网站频繁访问IP被封等等。
4、每一行代码都可以100% Get到,绝不走马观花,30天搞定大数据爬虫项目,妥妥的!
# e6 f/ u* L1 l
项目涉及技术 J7 k" _. e7 Z& M
Java、HttpClient、Redis、Solr、HBase、Zookeeper、HighChart、HTMLEmail" x3 \- q, U) r: w" w% X: l, f9 Q
基础要求0 [) v5 U( m7 W( k/ T/ S
本课程面向有Java基础,有Hadoop大数据平台基础,希望进一步学习大数据爬虫项目的朋友;3 @( D% _+ l! ~
4 r, o% ^8 l: u
课程大纲) h9 i- \& @& I- [
. K$ I7 j, B4 i% w4 S
一、项目背景
1、了解传统广电收视率项目背景 6 U- ^4 r! r7 M" [+ a y1 s
2、用户数据有哪些价值点 3 A, v8 f. A" R2 ~5 E
3、哪些机构掌握这些数据
4、爬虫目标:互联网各大视频网站 9 O5 m \1 }& a+ q0 o8 }+ _
9 E, n8 q3 P* v& o
二、项目总体需求
1、多维度统计:总播放指数、每日播放增量、评论数、收藏数、赞、踩
2、数据可视化:节目收视排行榜、多维度指标趋势图
三、难点分析
1、网站采取反爬策略 5 F) t+ d( l$ I
2、网站模板定期变动 m+ b- i8 A4 a1 T
3、网站URL抓取失败 9 e" c V: s, \" Q- X4 _# m
4、网站频繁抓取IP被封
0 d1 h4 p0 \' A- m
四、系统架构设计6 w( Y" y9 s; J( w
1、总体架构解析
2、数据流向
3、功能模块划分 $ d2 {, D9 `0 k" D" U y1 Q
4、各个模块详细解读
; J' M1 M! K& K& z/ `0 [+ O7 \8 {
五、技术选型2 t* S% S7 \# @' A% B: |/ b( f# t
1、数据采集层 $ E/ B1 z! y/ c9 Z
2、数据存储层 - r5 k: }5 U* M- T. V
3、数据处理层
4、数据展示层 3 ~- R$ F8 N5 C) n. v8 g1 p
f- ^2 d! I* O6 V
六、部署方案
1、爬虫项目:分布式集群 8 t5 v% N5 D" Z5 p
2、爬虫定时项目:一台服务器
3、爬虫项目监控:一台服务器
4、爬虫可视化:多台服务器
5、Hbase数据库:分布式集群 2 j7 k3 R( e q0 Z9 S, X
6、Redis数据库:分布式集群 ' T8 _, F+ \& X+ _5 O
7、Solr 全文检索:分布式集群 1 C' t, ?8 O" P y2 |. d+ ], n1 A
8、Zookeeper 监控:分布式集群
9、Solr 建立索引:一台服务器 7 d9 G/ J- _ c# m
10、邮件提醒:一台服务器
9 c L5 a- @- X
七、爬虫代码详尽实现
1、下载、解析视频网站详情页面url,提取关键字段数据 1 k! n+ {+ z- I$ k' s5 x) d
2、抽取视频网站解析规则模板,优化解析代码
3、打通数据爬虫的下载、解析、存储流程
4、采用Hbase存储爬虫数据,详解Hbase宽表和窄表设计以及爬虫项目表的详细设计,包含rowKey设计、列簇设计、历史版本 % M! }( p d/ f& R# \" j* G
5、解析视频网站所有分页url并优化解析实现类
6、使用Queue队列存储视频网站所有url,实现视频网站url循环抓取
7、采用高、低优先级队列循环抓取视频网站url
8、采用Redis数据库实现url抓取优先级,并支持分布式爬虫
9、采用多线程爬虫,加快爬虫效率 : d* ~0 g4 I$ O7 |& }* F" v
10、定时启动爬虫项目
11、完善爬虫项目、补充抓取关键字段数据
八、全文检索
1、Lucene、Solr、ElasticSearch简介
2、全文检索过程:索引创建和搜索索引
3、解决全文检索的核心问题
4、Solr+Hbase组合提升检索效率
5、Solr 配置详解
6、Solr 安装部署
7、Solr 建立索引 9 d1 D b1 Y& @" X9 v+ Y' I4 M' \: V
8、Solr 检索视频网站数据
) E3 l% e+ G1 N. Q# S: E+ ?/ `& j( m$ N
九、数据可视化+ s0 Q/ v7 }! E% d6 R
1、采用SpringMVC框架编写爬虫Web项目
2、编写Hbase工具类查询Hbase数据 ! s# A$ m) V6 p; {8 v
3、编写Solr工具类检索爬虫数据 9 c3 S7 [9 f* [" X3 R" E2 x1 N: F
4、采用Freemarker或者jsp展示页面
5、采用Highcharts插件展示收视指数曲线图
6、打通爬虫整个项目流程,实时查看收视排行榜以及收视指数曲线图
十、项目优化一4 g2 t& z2 @8 J1 o: L9 m; f( P0 ^
1、设置合理的抓取时间间隔,模拟正常用户访问,降低IP被封概率 / w+ p% n* \' U' x6 i4 n
2、采用Redis 动态IP库,随机获取IP,随机抓取不同网站数据,降低同一IP对统一网站的访问频率
3、实现分布式爬虫,提高爬虫效率
十一、项目优化二
1、Ganglia、Zookeeper简介 & _- y& l. |7 A4 n- q) P# o
2、详解Zookeeper特性监控爬虫项目
3、完善爬虫项目注册Zookeeper集群
4、编写Watcher监视器监控爬虫项目生命周期 " Z+ A" D* X- c1 b2 v
5、集群监控的整体联调 . U2 d5 q* J/ E
( W3 d i) q0 h6 H
十二、项目优化三
1、监控器监控爬虫项目异常,异常数据插入数据库/ g7 M4 X$ W) o9 i4 E& d2 \' Z
2、编写邮件Mail项目扫描爬虫项目异常信息,通知运维人员
3、编写定时器定时执行Mail项目4 F. H9 u4 f x: f
下载地址:
|
|