本书介绍了如何开发网络爬虫。内容主要包括开发网络爬虫所需要的Java语法基础和网络爬虫的工作原理,如何使用开源组件HttpClient和爬虫框架Crawler4j抓取网页信息,以及针对抓取到的文本进行有效信息的提取。为了扩展抓取能力,本书介绍了实现分布式网络爬虫的关键技术。
另外,本书介绍了从图像和语音等多媒体格式文件中提取文本信息,以及如何使用大数据技术存储抓取到的信息。
最后,以实战为例,介绍了如何抓取和微博,以及在电商、医药、金融等领域的案例应用。其中,电商领域的应用介绍了使用网络爬虫抓取商品信息入库到网上商店的数据库表。医药领域的案例介绍了抓取PubMed医药论文库。金融领域的案例介绍了抓取股票信息,以及从年报PDF文档中提取表格等。本书适用于对开发信息采集软件感兴趣的自学者。也可以供有Java或程序设计基础的开发人员参考。
作者简介
内容简介
前言
第1章 技术基础
1.1 第一个程序
1.2 准备开发环境
1.3 类和对象
1.4 常量
1.5 命名规范
1.6 基本语法
1.7 条件判断
1.8 循环
1.9 数组
1.10 位运算
1.11 枚举类型
1.12 比较器
1.13 方法
1.14 集合类
1.15 文件
1.16 多线程
1.17 折半查找
1.18 处理图片
1.19 本章小结
第2章 网络爬虫入门
2.1 获取信息
2.2 各种网络爬虫
2.3 爬虫相关协议
2.4 爬虫架构
2.5 自己写网络爬虫
2.6 URL地址查新
2.7 部署爬虫
2.8 本章小结
第3章 定向采集
3.1 下载网页的基本方法
3.2 HTTP基础
3.3 使用HttpClient下载网页
3.4 下载网络资源
3.5 PhantomJS
3.6 Selenium
3.7 信息过滤
3.8 采集新闻
3.9 遍历信息
3.10 并行抓取
3.11 分布式爬虫
3.12 增量抓取
3.13 管理界面
3.14 本章小结
第4章 数据存储
4.1 存储提取内容
4.2 HBase
4.3 Web图
4.4 本章小结
第5章 信息提取
5.1 从文本提取信息
5.2 从HTML文件中提取文本
5.3 RSS
5.4 网页去噪
5.5 从非HTML文件中提取文本
5.6 提取标题
5.7 图像的OCR识别
5.8 提取地域信息
5.9 提取新闻
5.10 流媒体内容提取
5.11 内容纠错
5.12 术语
5.13 本章小结
第6章 Crawler4j
6.1 使用Crawler4j
6.2 crawler4j原理
6.3 本章小结
第7章 网页排重
7.1 语义指纹
7.2 SimHash
7.3 分布式文档排重
7.4 本章小结
第8章 网页分类
8.1 关键词加权法
8.2 机器学习的分类方法
8.3 本章小结
第9章 案例分析
9.1 金融爬虫
9.2 商品搜索
9.3 自动化行业采集
9.4 社会化信息采集
9.5 微博爬虫
9.6 微信爬虫
9.7 海关数据
9.8 医药数据
9.9 本章小结
后记

