第1篇自己动手抓取数据
第1章全面剖析网络爬虫
1.1抓取网页
1.1.1深入理解URL
1.1.2通过指定的URL抓取网页内容
1.1.3Java网页抓取示例
1.1.4处理HTTP状态码
1.2宽度优先爬虫和带偏好的爬虫
1.2.1图的宽度优先遍历
1.2.2宽度优先遍历互联网
1.2.3Java宽度优先爬虫示例
1.2.4带偏好的爬虫
1.2.5Java带偏好的爬虫示例
1.3设计爬虫队列
1.3.1爬虫队列
1.3.2使用BerkeleyDB构建爬虫队列
1.3.3使用BerkeleyDB构建爬虫队列示例
1.3.4使用布隆过滤器构建Visited表
1.3.5详解Heritrix爬虫队列
1.4设计爬虫架构
1.4.1爬虫架构
1.4.2设计并行爬虫架构
1.4.3详解Heritrix爬虫架构
1.5使用多线程技术提升爬虫性能
1.5.1详解Java多线程
1.5.2爬虫中的多线程
1.5.3一个简单的多线程爬虫实现
1.5.4详解Heritrix多线程结构
1.6本章小结
第2章分布式爬虫
2.1设计分布式爬虫
2.1.1分布式与云计算
2.1.2分布式与云计算技术在爬虫中的应用——浅析Google的云计算架构
2.2分布式存储
2.2.1从Ralation_DB到key/value存储
2.2.2ConsistentHash算法
2.2.3ConsistentHash代码实现
2.3Google的成功之道——GFS
2.3.1GFS详解
2.3.2开源GFS——HDFS
2.4Google网页存储秘诀——BigTable
2.4.1详解BigTable
2.4.2开源BigTable——HBase
2.5Google的成功之道——MapReduce算法
2.5.1详解MapReduce算法
2.5.2MapReduce容错处理
2.5.3MapReduce实现架构
2.5.4Hadoop中的MapReduce简介
2.5.5wordCount例子的实现
2.6Nutch中的分布式
2.6.1Nutch爬虫详解
2.6.2Nutch中的分布式
2.7本章小结
第3章爬虫的“方方面面”
3.1爬虫中的“黑洞”
3.2限定爬虫和主题爬虫
3.2.1理解主题爬虫
3.2.2Java主题爬虫
3.2.3理解限定爬虫
3.2.4Java限定爬虫示例
3.3有“道德”的爬虫
3.4本章小结
第2篇自己动手抽取Web内容
第4章处理HTML页面
4.1征服正则表达式
4.1.1学习正则表达式
4.1.2Java正则表达式
4.2抽取HTML正文
4.2.1了解HtmlParser
4.2.2使用正则表达式抽取示例
4.3抽取正文
4.4从JavaScript中抽取信息
4.4.1JavaScript抽取方法
4.4.2JavaScript抽取示例
4.5本章小结
第5章非HTML正文抽取
5.1抽取PDF文件
5.1.1学习PDFBox
5.1.2使用PDFBox抽取示例
5.1.3提取PDF文件标题
5.1.4处理PDF格式的公文
5.2抽取Office文档
5.2.1学习POI
5.2.2使用POI抽取Word示例
5.2.3使用POI抽取PPT
5.2.4使用POI抽取Excel示例
5.3抽取RTF
5.3.1开源RTF文件解析器
5.3.2实现一个RTF文件解析器
5.3.3解析RTF示例
5.4本章小结
第6章多媒体抽取
6.1抽取视频
6.1.1抽取视频关键帧
6.1.2Java视频处理框架
6.1.3Java视频抽取示例
6.2音频抽取
6.2.1抽取音频
6.2.2学习Java音频抽取技术
6.3本章小结
第7章去掉网页中的“噪声”
7.1噪声对网页的影响
7.2利用“统计学”消除“噪声”
7.2.1网站风格树
7.2.2统计学去噪Java实现
7.3利用“视觉”消除“噪声”
7.3.1视觉与"噪声"
7.3.2视觉去噪Java实现
7.4本章小结
第3篇自己动手挖掘Web数据
第8章分析Web图
8.1存储Web“图”
8.2利用Web“图”分析链接
8.3Google的秘密——PageRank
8.3.1深入理解PageRank算法
8.3.2PageRank算法的Java实现
8.3.3应用PageRank进行链接分析
8.4PageRank的兄弟HITS
8.4.1深入理解HITS算法
8.4.2HITS算法的Java实现
8.4.3应用HITS进行链接分析
8.5PageRank与HITS的比较
8.6本章小结
第9章去掉重复的“文档”
9.1何为“重复”的文档
9.2去除“重复”文档——排重
9.3利用“语义指纹”排重
9.3.1理解“语义指纹”
9.3.2语义指纹排重的Java实现
9.4SimHash排重
9.4.1理解SimHash
9.4.2SimHash排重的Java实现
9.5分布式文档排重
9.6本章小结
第10章分类与聚类的应用
10.1网页分类
10.1.1收集语料库
10.1.2选取网页的“特征”
10.1.3使用支持向量机进行网页分类
10.1.4利用URL地址进行网页分类
10.1.5使用AdaBoost进行网页分类
10.2网页聚类
10.2.1深入理解DBScan算法
10.2.2使用DBScan算法聚类实例
10.3本章小结