自己动手写网络爬虫作 者: 罗刚 王振东出版时间:2010内容简介 《自己动手写网络爬虫(附光盘)》介绍了网络爬虫开发中的关键问题与java实现。主要包括从互联网获取信息与提取信息和对web信息挖掘等内容。《自己动手写网络爬虫(附光盘)》在介绍基本原理的同时注重辅以具体代码实现来帮助读者加深理解,书中部分代码甚至可以直接使用。《自己动手写网络爬虫(附光盘)》适用于有java程序设计基础的开发人员。同时也可以作为计算机相关专业本科生或研究生的参考教材。目录第1篇 自己动手抓取数据第1章 全面剖析网络爬虫1.1 抓取网页1.1.1 深入理解URL1.1.2 通过指定的URL抓取网页内容1.1.3 Java网页抓取示例1.1.4 处理HTTP状态码1.2 宽度优先爬虫和带偏好的爬虫1.2.1 图的宽度优先遍历1.2.2 宽度优先遍历互联网1.2.3 Java宽度优先爬虫示例1.2.4 带偏好的爬虫1.2.5 Java带偏好的爬虫示例1.3 设计爬虫队列1.3.1 爬虫队列1.3.2 使用Berkeley DB构建爬虫队列1.3.3 使用Berkeley DB构建爬虫队列示例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.2 Consistent Hash算法2.2.3 Consistent Hash代码实现2.3 Google的成功之道——GFS2.3.1 GFS详解2.3.2 开源GFS——HDFS2.4 Google网页存储秘诀——BigTable2.4.1 详解BigTable2.4.2 开源BigTable——HBase2.5 Google的成功之道——MapReduce算法2.5.1 详解MapReduce算法2.5.2 MapReduce容错处理2.5.3 MapReduce实现架构2.5.4 Hadoop中的MapReduce简介2.5.5 wordCount例子的实现2.6 Nutch中的分布式2.6.1 Nutch爬虫详解2.6.2 Nutch中的分布式2.7 本章小结第3章 爬虫的“方方面面”3.1 爬虫中的“黑洞”3.2 限定爬虫和主题爬虫3.2.1 理解主题爬虫3.2.2 Java主题爬虫3.2.3 理解限定爬虫3.2.4 Java限定爬虫示例3.3 有“道德”的爬虫3.4 本章小结第2篇 自己动手抽取Web内容第4章 处理HTML页面4.1 征服正则表达式4.1.1 学习正则表达式4.1.2 Java正则表达式4.2 抽取HTML正文4.2.1 了解HtmlParser4.2.2 使用正则表达式抽取示例4.3 抽取正文4.4 从JavaScript中抽取信息4.4.1 JavaScript抽取方法4.4.2 JavaScript抽取示例4.5 本章小结第5章 非HTML正文抽取5.1 抽取PDF文件5.1.1 学习PDFBox5.1.2 使用PDFBox抽取示例5.1.3 提取PDF文件标题5.1.4 处理PDF格式的公文5.2 抽取Office文档5.2.1 学习POI5.2.2 使用POI抽取Word示例5.2.3 使用POI抽取PPT5.2.4 使用POI抽取Excel示例5.3 抽取RTF5.3.1 开源RTF文件解析器5.3.2 实现一个RTF文件解析器5.3.3 解析RTF示例5.4 本章小结第6章 多媒体抽取6.1 抽取视频6.1.1 抽取视频关键帧6.1.2 Java视频处理框架6.1.3 Java视频抽取示例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.3 Google的秘密——PageRank8.3.1 深入理解PageRank算法8.3.2 PageRank算法的Java实现8.3.3 应用PageRank进行链接分析8.4 PageRank 的兄弟HITS8.4.1 深入理解HITS算法8.4.2 HITS算法的Java实现8.4.3 应用HITS进行链接分析8.5 PageRank与HITS的比较8.6 本章小结第9章 去掉重复的“文档”9.1 何为“重复”的文档9.2 去除“重复”文档——排重9.3 利用“语义指纹”排重9.3.1 理解“语义指纹”9.3.2 语义指纹排重的Java实现9.4 SimHash排重9.4.1 理解SimHash9.4.2 SimHash排重的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 本章小结 上一篇: 深入浅出Rails(中文版) 下一篇: 深入浅出Node.js