网络爬虫全解析——技术、原理与实践
  • 推荐0
  • 收藏9
  • 浏览1.5K

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

罗刚 (作者) 

  • 书  号:978-7-121-31071-3
  • 出版日期:2017-03-29
  • 页  数:444
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:董英

相关图书

代码虚拟与自动化分析

章书琴 (作者)

本书主要分成3个部分讨论代码虚拟和自动化分析技术。第1部分主要讨论代码虚拟化技术的各种实现方法,并通过一些现有的代码虚拟化技术应用案例引领读者了解代码虚拟化的技...

¥79.00

硬件安全攻防大揭秘

杨卿 (作者)

本书是一本硬件安全攻防方面的综合性书籍。前三章介绍了硬件安全研究的基本概念、常用的设备工具及常见的硬件接口,并讲述了通过这些接口获取数据的方法及防御手段。第四章...

¥66.00

iOS 应用安全权威指南

David Thiel (作者) 程伟 (译者)

对于所有希望保护用户免受恶意攻击的开发者来说,消除iOS 应用当中的安全漏洞至关重要。在本书中,移动端安全专家David Thiel 向你揭示了那些会导致严重安...

¥49.00

黑客攻防:实战加密与解密

陈小兵 (作者)

本书从黑客攻防的专业角度,结合网络攻防中的实际案例,图文并茂地再现Web渗透涉及的密码获取与破解过程,是一本对密码获取与破解进行全面研究的图书。本书共分7章,由...

¥69.00

智能硬件安全

刘健皓 (作者)

本书主要分为三部分,第一部分总体介绍为什么研究智能硬件安全,以及智能硬件安全风险分析和研究框架。第二部分介绍智能硬件信息安全研究的思路和具体操作方法。第三部分介...

¥59.00

软件保护及分析技术——原理与实践

章立春 (作者)

本书对软件安全领域的保护与分析技术进行了全面的讨论和剖析,通过保护与分析的对比讲解,结合代码和操作流程,对软件安全领域的各种技术进行了详尽的讨论,并将理论与实践...

¥59.00
本书介绍了如何开发网络爬虫。内容主要包括开发网络爬虫所需要的Java语法基础和网络爬虫的工作原理,如何使用开源组件HttpClient和爬虫框架Crawler4j抓取网页信息,以及针对抓取到的文本进行有效信息的提取。为了扩展抓取能力,本书介绍了实现分布式网络爬虫的关键技术。
另外,本书介绍了从图像和语音等多媒体格式文件中提取文本信息,以及如何使用大数据技术存储抓取到的信息。最后,以实战为例,介绍了如何抓取微信和微博,以及在电商、医药、金融等领域的案例应用。其中,电商领域的应用介绍了使用网络爬虫抓取商品信息入库到网上商店的数据库表。医药领域的案例介绍了抓取PubMed医药论文库。金融领域的案例介绍了抓取股票信息,以及从年报PDF文档中提取表格等。
本书适用于对开发信息采集软件感兴趣的自学者。也可以供有Java或程序设计基础的开发人员参考。


相比用Python写网络爬虫,Java更有后发优势

运行在服务器端的网络爬虫,更应该用Java开发

本书结合作者多年网络爬虫开发经验

全面系统讲解了网络爬虫相关技术并以Java实现

通俗易懂、代码清晰、案例丰富实用

一本书全面掌握网络爬虫开发
前  言

现代社会,有效信息对人来说就像氧气一样不可或缺。互联网让有效信息的收集工作变得更容易。当你在网上冲浪时,网络爬虫也在网络中穿梭,自动收集互联网上有用的信息。
自动收集和筛选信息的网络爬虫让有效信息的流动性增强,让我们更加高效地获取信息。随着越来越多的信息显现于网络,网络爬虫也越来越有用。
各行业都离不开对信息的采集和加工处理。例如,农业需要抓取气象数据、农产品行情数据等实现精准农业。机械行业需要抓取零件、图纸信息作为设计参考。医药行业需要抓取一些疾病的治疗方法信息。金融行业需要抓取上市公司基本面和技术面等相关信息作为股市涨跌的参考,例如,太钢生产出圆珠笔头,导致它的股票“太钢不锈”上涨。此外,金融行业也需要抓取股民对市场的参与度,作为市场大势判断的依据。
每个人都可以用网络爬虫技术获得更好的生存策略,避免一些糟糕的情况出现,让自己生活得更加幸福和快乐。例如,网络爬虫可以收集到二甲双胍等可能抗衰老的药物,从而让人生活得更加健康。
本书的很多内容来源于搜索引擎、自然语言处理、金融等领域的项目开发和教学实践。感谢开源软件的开发者们,他们无私的工作丰富了本书的内容。
本书从开发网络爬虫所需要的Java语法开始讲解,然后介绍基本的爬虫原理。通过介绍优先级队列、宽度优先搜索等内容,引领读者入门,之后根据当前风起云涌的云计算热潮,重点讲述了云计算的相关内容及其在爬虫中的应用,以及信息抽取、链接分析等内容。接下来介绍了有关爬虫的Web数据挖掘等内容。为了让读者更深入地了解爬虫的实际应用,最后一章是案例分析。本书相关的代码在读者QQ群(294737705)的共享文件中可以找到。
本书适合需要具体实现网络爬虫的程序员使用,对于信息检索等相关领域的研究人员也有一定的参考价值,同时猎兔搜索技术团队已经开发出以本书为基础的专门培训课程和商业软件。目前的一些网络爬虫软件仍有很多功能有待完善,作者真诚地希望通过本书把读者带入网络爬虫开发的大门并认识更多的朋友。
感谢早期合著者、合作伙伴、员工、学员、家人的支持,他们给我们提供了良好的工作基础,这是一个持久可用的工作基础。在将来,希望我们的网络爬虫代码和技术能够像植物一样快速生长。
参与本书编写的还有崔智杰、石天盈、张继红、张进威、刘宇、何淑琴、任通通、高丹丹、徐友峰、孙宽,在此一并表示感谢。


罗 刚
2017年2月

目录

第1章 技术基础 1
1.1 第一个程序 1
1.2 准备开发环境 2
1.2.1 JDK 2
1.2.2 Eclipse 3
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 部署到Windows 64
2.7.2 部署到Linux 64
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 URI 77
3.2.3 DNS 84
3.3 使用HttpClient下载网页 84
3.3.1 HttpCore 94
3.3.2 状态码 98
3.3.3 创建 99
3.3.4 模拟浏览器 99
3.3.5 重试 100
3.3.6 抓取压缩的网页 102
3.3.7 HttpContext 104
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 抓取FTP 122
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 iframe 136
3.4.13 抓取JavaScript动态页面 137
3.4.14 抓取即时信息 141
3.4.15 抓取暗网 141
3.5 PhantomJS 144
3.6 Selenium 145
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 异步IO 172
3.11 分布式爬虫 176
3.11.1 JGroups 176
3.11.2 监控 179
3.12 增量抓取 180
3.13 管理界面 180
3.14 本章小结 181
第4章 数据存储 182
4.1 存储提取内容 182
4.1.1 SQLite 183
4.1.2 Access数据库 185
4.1.3 MySQL 186
4.1.4 写入维基 187
4.2 HBase 187
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 RSS 229
5.3.1 Jsoup解析RSS 230
5.3.2 ROME 231
5.3.3 抓取流程 231
5.4 网页去噪 233
5.4.1 NekoHTML 234
5.4.2 Jsoup 238
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 训练OCR 289
5.7.8 检测行 290
5.7.9 识别验证码 291
5.7.10 JavaOCR 292
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章 Crawler4j 338
6.1 使用Crawler4j 338
6.1.1 大众点评 339
6.1.2 日志 342
6.2 crawler4j原理 342
6.2.1 代码分析 343
6.2.2 使用Berkeley DB 344
6.2.3 缩短URL地址 347
6.2.4 网页编码 349
6.2.5 并发 349
6.3 本章小结 352
第7章 网页排重 353
7.1 语义指纹 354
7.2 SimHash 357
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 使用HttpClient 415
9.2.3 提取价格 416
9.2.4 水印 419
9.2.5 数据导入ECShop 420
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

读者评论

  • 这源码与这本书不匹配啊?那这本书的源码呢?

    kate_2017发表于 2017/10/17 5:50:44
  • 书上的猎兔网都连无效了,太坑了吧。。。

    ancher发表于 2017/7/18 22:08:43
  • 下载资源中的源码 到底是那一本书的呀!

    doujiangyoutiao发表于 2017/7/14 22:15:10
  • 源代码和书上的不匹配啊?

    pflory发表于 2017/6/2 22:54:32
    • 这个源代码是作者上一本书“自己动手写网络爬虫”的源代码

      fc发表于 2017/7/8 22:07:37
  • 啥时候才有源代码啊!

    Dubi007发表于 2017/5/22 14:02:00
    • 配书资料已经上传,可在本书页面的“下载资源”板块下载。

      博文小编发表于 2017/5/23 9:22:42

下载资源

电子书版本

  • Epub
  • Mobi

图书类别

相关博文

  • 网络爬虫之网页排重:语义指纹

    网络爬虫之网页排重:语义指纹

    管理员账号 2017-05-05

    小编说:网络爬虫让我们高效地从网页获取到信息,但网页的重复率很高,网页需要按内容做文档排重,而判断文档的内容重复有很多种方法,语义指纹是其中比较高效的方法。 现代社会,有效信息对人来说就像氧气一样不可或缺。互联网让有效信息的收集工...

    管理员账号 2017-05-05
    67 0 0 0