《网络爬虫全解析——技术、原理与实践》用java开发网络爬虫 PDF电子书下载

内容简介

《网络爬虫全解析——技术、原理与实践》介绍了如何开发网络爬虫。内容主要包括开发网络爬虫所需要的Java语法基础和网络爬虫的工作原理,如何使用开源组件HttpClient和爬虫框架Crawler4j抓取网页信息,以及针对抓取到的文本进行有效信息的提取。为了扩展抓取能力,本书介绍了实现分布式网络爬虫的关键技术。另外,本书介绍了从图像和语音等多媒体格式文件中提取文本信息,以及如何使用大数据技术存储抓取到的信息。*后,以实战为例,介绍了如何抓取微信和微博,以及在电商、医药、金融等领域的案例应用。其中,电商领域的应用介绍了使用网络爬虫抓取商品信息入库到网上商店的数据库表。医药领域的案例介绍了抓取PubMed医药论文库。金融领域的案例介绍了抓取股票信息,以及从年报PDF文档中提取表格等。

相关截图

网络爬虫全解析——技术、原理与实践

目录

第1章 技术基础1
1.1 第一个程序1
1.2 准备开发环境2
1.2.1 JDK2
1.2.2 Eclipse3
1.3 类和对象4
1.4 常量5
1.5 命名规范6
1.6 基本语法6
1.7 条件判断7
1.8 循环8
1.9 数组9
1.10 位运算11
1.11 枚举类型13
1.12 比较器14
1.13 方法14
1.14 集合类15
1.14.1 动态数组15
1.14.2 散列表15
1.15 文件19
1.15.1 文本文件19
1.15.2 二进制文件23
1.16 多线程27
1.16.1 基本的多线程28
1.16.2 线程池30
1.17 折半查找31
1.18 处理图片34
1.19 本章小结35
第2章 网络爬虫入门36
2.1 获取信息36
2.1.1 提取链接37
2.1.2 采集新闻37
2.2 各种网络爬虫38
2.2.1 信息采集器40
2.2.2 广度优先遍历41
2.2.3 分布式爬虫42
2.3 爬虫相关协议43
2.3.1 网站地图44
2.3.2 Robots协议45
2.4 爬虫架构48
2.4.1 基本架构48
2.4.2 分布式爬虫架构51
2.4.3 垂直爬虫架构54
2.5 自己写网络爬虫55
2.6 URL地址查新57
2.6.1 嵌入式数据库58
2.6.2 布隆过滤器60
2.6.3 实现布隆过滤器61
2.7 部署爬虫63
2.7.1 部署到Windows64
2.7.2 部署到Linux64
2.8 本章小结65
第3章 定向采集69
3.1 下载网页的基本方法69
3.1.1 网卡70
3.1.2 下载网页70
3.2 HTTP基础75
3.2.1 协议75
3.2.2 URI77
3.2.3 DNS84
3.3 使用HttpClient下载网页84
3.3.1 HttpCore94
3.3.2 状态码98
3.3.3 创建99
3.3.4 模拟浏览器99
3.3.5 重试100
3.3.6 抓取压缩的网页102
3.3.7 HttpContext104
3.3.8 下载中文网站105
3.3.9 抓取需要登录的网页106
3.3.10 代理111
3.3.11 DNS缓存112
3.3.12 并行下载113
3.4 下载网络资源115
3.4.1 重定向115
3.4.2 解决套接字连接限制118
3.4.3 下载图片119
3.4.4 抓取视频122
3.4.5 抓取FTP122
3.4.6 网页更新122
3.4.7 抓取限制应对方法126
3.4.8 URL地址提取131
3.4.9 解析URL地址134
3.4.10 归一化135
3.4.11 增量采集135
3.4.12 iframe136
3.4.13 抓取JavaScript动态页面137
3.4.14 抓取即时信息141
3.4.15 抓取暗网141
3.5 PhantomJS144
3.6 Selenium145
3.7 信息过滤146
3.7.1 匹配算法147
3.7.2 分布式过滤153
3.8 采集新闻153
3.8.1 网页过滤器154
3.8.2 列表页159
3.8.3 用机器学习的方法抓取新闻160
3.8.4 自动查找目录页161
3.8.5 详细页162
3.8.6 增量采集164
3.8.7 处理图片164
3.9 遍历信息164
3.10 并行抓取165
3.10.1 多线程爬虫165
3.10.2 垂直搜索的多线程爬虫168
3.10.3 异步IO172
3.11 分布式爬虫176
3.11.1 JGroups176
3.11.2 监控179
3.12 增量抓取180
3.13 管理界面180
3.14 本章小结181
第4章 数据存储182
4.1 存储提取内容182
4.1.1 SQLite183
4.1.2 Access数据库185
4.1.3 MySQL186
4.1.4 写入维基187
4.2 HBase187
4.3 Web图189
4.4 本章小结193
第5章 信息提取194
5.1 从文本提取信息194
5.2 从HTML文件中提取文本195
5.2.1 字符集编码195
5.2.2 识别网页的编码198
5.2.3 网页编码转换为字符串编码201
5.2.4 使用正则表达式提取数据202
5.2.5 结构化信息提取206
5.2.6 表格209
5.2.7 网页的DOM结构210
5.2.8 使用Jsoup提取信息211
5.2.9 使用XPath提取信息217
5.2.10 HTMLUnit提取数据219
5.2.11 网页结构相似度计算220
5.2.12 提取标题222
5.2.13 提取日期224
5.2.14 提取模板225
5.2.15 提取RDF信息227
5.2.16 网页解析器原理227
5.3 RSS229
5.3.1 Jsoup解析RSS230
5.3.2 ROME231
5.3.3 抓取流程231
5.4 网页去噪233
5.4.1 NekoHTML234
5.4.2 Jsoup238
5.4.3 提取正文240
5.5 从非HTML文件中提取文本241
5.5.1 PDF文件242
5.5.2 Word文件245
5.5.3 Rtf文件247
5.5.4 Excel文件253
5.5.5 PowerPoint文件254
5.6 提取标题254
5.6.1 提取标题的一般方法255
5.6.2 从PDF文件中提取标题259
5.6.3 从Word文件中提取标题261
5.6.4 从Rtf文件中提取标题261
5.6.5 从Excel文件中提取标题267
5.6.6 从PowerPoint文件中提取标题270
5.7 图像的OCR识别270
5.7.1 读入图像271
5.7.2 准备训练集272
5.7.3 图像二值化274
5.7.4 切分图像279
5.7.5 SVM分类283
5.7.6 识别汉字287
5.7.7 训练OCR289
5.7.8 检测行290
5.7.9 识别验证码291
5.7.10 JavaOCR292
5.8 提取地域信息292
5.8.1 IP地址293
5.8.2 手机315
5.9 提取新闻316
5.10 流媒体内容提取317
5.10.1 音频流内容提取317
5.10.2 视频流内容提取321
5.11 内容纠错322
5.11.1 模糊匹配问题325
5.11.2 英文拼写检查331
5.11.3 中文拼写检查333
5.12 术语336
5.13 本章小结336
第6章 Crawler4j338
6.1 使用Crawler4j338
6.1.1 大众点评339
6.1.2 日志342
6.2 crawler4j原理342
6.2.1 代码分析343
6.2.2 使用Berkeley DB344
6.2.3 缩短URL地址347
6.2.4 网页编码349
6.2.5 并发349
6.3 本章小结352
第7章 网页排重353
7.1 语义指纹354
7.2 SimHash357
7.3 分布式文档排重367
7.4 本章小结369
第8章 网页分类370
8.1 关键词加权法371
8.2 机器学习的分类方法378
8.2.1 特征提取380
8.2.2 朴素贝叶斯384
8.2.3 支持向量机393
8.2.4 多级分类401
8.2.5 网页分类403
8.3 本章小结403
第9章 案例分析404
9.1 金融爬虫404
9.1.1 中国能源政策数据404
9.1.2 世界原油现货交易和期货交易数据405
9.1.3 股票数据405
9.1.4 从PDF文件中提取表格408
9.2 商品搜索408
9.2.1 遍历商品410
9.2.2 使用HttpClient415
9.2.3 提取价格416
9.2.4 水印419
9.2.5 数据导入ECShop420
9.2.6 采集淘宝423
9.3 自动化行业采集424
9.4 社会化信息采集424
9.5 微博爬虫424
9.6 微信爬虫426
9.7 海关数据426
9.8 医药数据427
9.9 本章小结429
后记430

打赏
下载 积分 (-200) 吐槽 (9)
×
加载中,请稍候…

您需要 登录 后才能发表评论。

avatar

- 评论

  • 加载中,请稍候…
我要吐槽