自己动手写网络爬虫

《自己动手写网络爬虫》是2010年10月1日由清华大学出版社出版的图书,作者是罗刚。本书在介绍基本原理的同时,注重辅以具体代码实现来帮助读者加深理解。
- 书名 自己动手写网络爬虫
- 作者 罗刚
- 出版社 清华大学出版社
- 出版时间 2010年10月1日
- 页数 346 页
内容简介
主要包括从互联网获取信息与提取信息和对Web信息挖掘等内容。本书在介绍基本原理的同时注重辅以具体代码实现来帮助读者加深理解,书中部分代码甚至可以直接使用。该书介绍了网络爬虫开发中的关键问题与关于Java实现的问题。
本书适用于有Java程序设计基础的开发人员。同时也可以作为计算机相关专业本科生或研究生的参考教材。
作品目录
第1章 全面剖析网络爬虫 3
1.1 抓取网页 | 1.3.3 使用berkeley db构建爬虫队列示例 |
1.1.1 深入理解url | 1.3.4 使用布隆过滤器构建visited表 |
1.1.2 通过指定的url抓取网页内容 | 1.3.5 详解heritrix爬虫队列 |
1.1.3 java网页抓取示例 | 1.4 设计爬虫架构 . |
1.1.4 处理http状态码 | 1.4.1 爬虫架构 |
1.2 宽度优先爬虫和带偏好的爬虫 | 1.4.2 设计并行爬虫架构 |
1.2.1 图的宽度优先遍历 | 1.4.3 详解heritrix爬虫架构 |
1.2.2 宽度优先遍历互联网 | 1.5 使用多线程技术提升爬虫性能 |
1.2.3 java宽度优先爬虫示例 | 1.5.1 详解java多线程 |
1.2.4 带偏好的爬虫 | 1.5.2 爬虫中的多线程 |
1.2.5 java带偏好的爬虫示例 | 1.5.3 一个简单的多线程爬虫实现 |
1.3 设计爬虫队列 | 1.5.4 详解heritrix多线程结构 |
1.3.1 爬虫队列 | 1.6 本章小结 |
1.3.2 使用berkeley db构建爬虫队列 |
第2章 分布式爬虫 69
2.1 设计分布式爬虫 | 2.4.2 开源bigtable--hbase |
2.1.1 分布式与云计算 | 2.5 google的成功之道--mapreduce算法 |
2.1.2 分布式与云计算技术在爬虫中的应用--浅析google的云计算架构 | 2.5.1 详解mapreduce算法 |
2.2 分布式存储 | 2.5.2 mapreduce容错处理 |
2.2.1 从ralation_db到key/value存储 | 2.5.3 mapreduce实现架构 |
2.2.2 consistent hash算法 | 2.5.4 hadoop中的mapreduce简介 |
2.2.3 consistent hash代码实现 | 2.5.5 wordcount例子的实现 |
2.3 google的成功之道--gfs | 2.6 nutch中的分布式 |
2.3.1 gfs详解 | 2.6.1 nutch爬虫详解 |
2.3.2 开源gfs--hdfs | 2.6.2 nutch中的分布式 |
2.4 google网页存储秘诀--bigtable | 2.7 本章小结 |
2.4.1 详解bigtable |
第3章 爬虫的"方方面面"121
3.1 爬虫中的"黑洞" | 3.2.3 理解限定爬虫 |
3.2 限定爬虫和主题爬虫 | 3.2.4 java限定爬虫示例 |
3.2.1 理解主题爬虫 | 3.3 有"道德"的爬虫 |
3.2.2 java主题爬虫 | 3.4 本章小结 |
第4章 "处理"html页面 159
4.1 征服正则表达式 | 4.3 抽取正文 |
4.1.1 学习正则表达式 | 4.4 从javascript中抽取信息 |
4.1.2 java正则表达式 | 4.4.1 javascript抽取方法 |
4.2 抽取html正文 | 4.4.2 javascript抽取示例 |
4.2.1 了解htmlparser | 4.5本章小结 |
4.2.2 使用正则表达式抽取示例 |
第5章 非html正文抽取 201
5.1 抽取pdf文件 | 5.2.2 使用poi抽取word示例 |
5.1.1 学习pdfbox | 5.2.3 使用poi抽取ppt示例 |
5.1.2 使用pdfbox抽取示例 | 5.2.4 使用poi抽取excel示例 |
5.1.3 提取pdf文件标题 | 5.3 抽取rtf 5.3.1 开源rtf文件解析器 |
5.1.4 处理pdf格式的公文 | 5.3.2 实现一个rtf文件解析器 |
5.2 抽取office文档 | 5.3.3 解析rtf示例 |
5.2.1 学习poi | 5.4 本章小结 |
第6章 多媒体抽取 231
6.1 抽取视频 | 6.2 音频抽取 |
6.1.1 抽取视频关键帧 | 6.2.1 抽取音频 |
6.1.2 java视频处理框架 | 6.2.2 学习java音频抽取技术 |
6.1.3 java视频抽取示例 | 6.3 本章小结 |
第7章去掉网页中的"噪声" 257
7.1 "噪声"对网页的影响 | 7.3 利用"视觉"消除"噪声" |
7.2 利用"统计学"消除"噪声" | 7.3.1 "视觉"与"噪声" |
7.2.1 网站风格树 | 7.3.2 "视觉去噪"java实现 |
7.2.2"统计学去噪"java实现 | 7.4 本章小结 |
第8章 分析web图 283
8.1 存储web"图" | 8.4 pagerank的兄弟hits |
8.2 利用web"图"分析链接 | 8.4.1 深入理解hits算法 |
8.3 google的秘密--pagerank | 8.4.2 hits算法的java实现 |
8.3.1 深入理解pagerank算法 | 8.4.3 应用hits进行链接分析 |
8.3.2 pagerank算法的java实现 | 8.5 pagerank与hits的比较 |
8.3.3 应用pagerank进行链接分析 | 8.6 本章小结 |
第9章 去掉重复的"文档" 317
9.1 何为"重复"的文档 | 9.4 simhash排重 |
9.2 去除"重复"文档--排重 | 9.4.1 理解simhash |
9.3 利用"语义指纹"排重 | 9.4.2 simhash排重的java实现 |
9.3.1 理解"语义指纹" | 9.5 分布式文档排重 |
9.3.2 "语义指纹"排重的java实现 | 9.6 本章小结 |
第10章 分类与聚类的应用 333
10.1 网页分类 10.1.1 收集语料库 | 10.2 网页聚类 |
10.1.2 选取网页的"特征" | 10.2.1 深入理解dbscan算法 |
10.1.3 使用支持向量机进行网页分类 | 10.2.2 使用dbscan算法聚类实例 |
10.1.4 利用url地址进行网页分类 | 10.3 本章小结 |
10.1.5 使用adaboost进行网页分类 |