×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787121394065
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:272
  • 出版时间:2020-09-01
  • 条形码:9787121394065 ; 978-7-121-39406-5

本书特色

深入讲解网页正文智能提取算法、分布式爬虫、项目部署与定时调度等热门爬虫技术在学习爬虫时,不能仅了解一个脚本下载了多少数据,更应该了解这背后的技术细节和风控对抗。再次看到韦老师的作品,感叹于他的持续学习能力和时间管理能力,相信本书能给大家带来更多的精彩内容! ——腾讯后端开发工程师 BruceDone 韦老师的又一力作, 从多个角度讲解爬虫知识,加入了分布式爬虫的相关知识以及实操案例,每一章都有相应的习题,可以让读者进一步巩固学习。除此之外,本书还分析了市面上的几个优秀的框架,手把手教大家如何阅读开源项目,提高综合技术能力。这本书值得拥有。 ——知乎高级爬虫工程师 陈祥安 爬虫是一门非常方便又实用的技术。在当今这个时代,凡是对数据有一定需求的企业,都会使用爬虫采集一些有价值的数据做分析。 本书贴合爬虫技术的实际应用场景和核心需求,由浅入深地将爬虫的概念、基本操作、内容提取、项目部署和调度逐一进行讲解,非常适合于爬虫入门学员和爬虫爱好者们阅读。 ——知名爬虫团队 夜幕 本书选取了爬虫的一些核心知识点进行了重点梳理,每个知识点从原理到实战都讲解得非常透彻。如果大家想深入了解爬虫的一些核心知识,本书是上上之选。 —— 微软(中国)工程师、《Python3网络爬虫开发实战》作者 崔庆才 本书深入浅出地讲解了网络爬虫技术的基本原理以及工程实战。无论是刚入门的爬虫开发者还是颇有经验的爬虫工程师,本书都是他们不可多得的“武功秘籍”。书中关于企业级爬虫程序开发的介绍(包括增量抓取、分布式爬虫、爬虫调度等),能够让读者深入理解如何开发高效而健壮的企业级爬虫。本书的读者非常幸运,因为你们能够学到前沿实用的网络爬虫技术和知识。 —— 热门开源项目 Crawlab 作者 张冶青 看到本书样章时我非常惊讶,作者竟然把GNE的代码拆解分析,但转念一想,这正是作者一贯的风格——要使用一个库、框架、服务,就要先从源代码的层次去理解它的工作原理,这样不仅能用好它,还能提前考虑到是否会有潜在的风险和坑点。阅读本书,既能学习爬虫的开发理论,又能掌握爬虫工具的使用方法,还能了解他们的工作原理,一举多得,甚好甚好。 —— 热门开源项目GNE 作者 青南

内容简介

Python3是当前市面上极受欢迎的人工智能和网络爬虫语言。本书介绍了爬虫方面更深入的知识。书中首先回顾了爬虫的基础知识;然后详细介绍爬虫常用工具与库的相关知识;接着学习 Redis, 为后面的学习打下基础;然后讨论了 Redis 在分布式爬虫中的作用以及分布式爬虫的原理、分类与实现方法;再进一步学习增量爬取的原理与实现方法;然后通过学习网页文本抽取方法和智能抽取方法实现了大规模、多网站的数据爬取;在部署方面通过了解、剖析成熟稳定的爬虫部署平台 Scrapyd,并根据实际业务需求重新构建了一套兼容性更强的爬虫部署平台;很后学习了 Python 中常用的几个任务调度库与框架,通过了解 Celery 逻辑与结构,我们掌握了调度相关的知识,并根据实际业务需求构建了一套支持动态任务增删的任务调度平台。

目录

第1 章 爬虫程序的构成和完整链条 . 1

1.1 一个简单的爬虫程序 . 1

1.2 爬虫的完整链条 . 3

1.3 爬取下来的数据被用在什么地方 . 7

1.4 爬虫工程师常用的库 . 11

1.4.1 网络请求库 . 11

1.4.2 网页文本解析. 19

1.5 数据存储 . 30

1.5.1 将数据存入MySQL 数据库 . 31

1.5.2 将数据存入MongoDB 数据库 . 34

1.5.3 将数据存入Redis 数据库 . 36

1.5.4 Excel 文件的读写 . 38

1.6 小试牛刀——出版社新闻资讯爬虫 . 42

实践题 . 46

本章小结 . 47

第2 章 自动化工具的使用 . 48

2.1 网页渲染工具 . 48

2.1.1 WebDriver 是什么 . 51

2.1.2 Selenium 的介绍和基本使用 . 52

2.1.3 Pyppeteer 的介绍和基本使用 . 59

2.1.4 Splash 知识扩展 . 61

本节小结 . 62

2.2 App 自动化工具 . 62

2.2.1 Android 调试桥 . 62

2.2.2 Airtest Project 与Poco . 64

VIII Python3 网络爬虫宝典

2.2.3 爬取App 中的图片 . 75

2.2.4 控制多台设备. 78

本节小结 . 79

实践题 . 79

本章小结 . 79

第3 章 增量爬取的原理与实现 . 80

3.1 增量爬取的分类和实现原理 . 81

3.1.1 增量爬取的分类 . 81

3.1.2 增量爬取的实现原理 . 83

本节小结 . 88

3.2 增量池的复杂度和效率 . 88

3.2.1 增量池的时间复杂度 . 88

3.2.2 增量池的空间复杂度 . 95

本节小结 . 103

3.3 Redis 的数据持久化 . 103

3.3.1 持久化方式的分类和特点 . 103

3.3.2 RDB 持久化的实践 . 106

3.3.3 AOF 持久化的实践 . 112

3.3.4 Redis 密码持久化 . 115

本节小结 . 115

实践题 . 115

本章小结 . 116

第4 章 分布式爬虫的设计与实现 . 117

4.1 分布式爬虫的原理和分类 . 117

4.1.1 分布式爬虫的原理 . 117

4.1.2 分布式爬虫的分类 . 120

4.1.3 共享队列的选择 . 122

本节小结 . 125

4.2 分布式爬虫库Scrapy-Redis . 126

4.2.1 Scrapy-Redis 的介绍和基本使用 . 127

4.2.2 去重器、调度器和队列的源码解析 . 129

目录 IX

本节小结 . 134

4.3 基于Redis 的分布式爬虫 . 134

4.3.1 对等分布式爬虫的实现 . 135

4.3.2 主从分布式爬虫的实现 . 139

本节小结 . 141

4.4 基于RabbitMQ 的分布式爬虫 . 141

4.4.1 RabbitMQ 的安装和基本操作 . 142

4.4.2 分布式爬虫的具体实现 . 146

本节小结 . 152

实践题 . 152

本章小结 . 152

第5 章 网页正文自动化提取方法 . 153

5.1 Python Readability . 155

5.2 基于文本及符号密度的网页正文提取方法 . 158

5.3 GeneralNewsExtractor . 162

5.3.1 GeneralNewsExtractor 的安装和使用 . 162

5.3.2 GeneralNewsExtractor 的源码解读 . 165

本节小结 . 175

本章小结 . 175

第6 章 Python 项目打包部署与定时调度 . 176

6.1 如何判断项目是否需要部署 . 176

6.2 爬虫部署平台Scrapyd . 179

6.2.1 Scrapyd 的安装和服务启动 . 179

6.2.2 爬虫项目的打包和部署 . 180

本节小结 . 184

6.3 Scrapyd 源码深度剖析 . 185

6.4 项目打包与解包运行实战 . 197

6.4.1 用Setuptools 打包项目 . 197

6.4.2 运行EGG 包中的Python 项目 . 199

6.4.3 编码实现Python 项目打包 . 201

本节小结 . 203

X Python3 网络爬虫宝典

6.5 定时功能 . 203

6.5.1 操作系统提供的定时功能 . 203

6.5.2 编程语言实现的定时功能 . 206

6.5.3 APScheduler . 209

本节小结 . 212

6.6 实战:开发Python 项目管理平台Sailboat . 212

6.6.1 Sailboat 的模块规划和技术选型 . 212

6.6.2 Sailboat 的权限设计思路 . 214

6.6.3 Sailboat 的数据结构设计 . 215

6.6.4 Sailboat 基础结构的搭建 . 218

6.6.5 Sailboat 用户注册和登录接口的编写 . 220

6.6.6 Sailboat 权限验证装饰器的编写 . 229

6.6.7 Sailboat 项目部署接口和文件操作对象的编写 . 232

6.6.8 Sailboat 项目调度接口的编写 . 240

6.6.9 Sailboat 执行器的编写和日志的生成 . 243

6.6.10 Sailboat 定时调度功能的实现 . 248

6.6.11 Sailboat 异常监控和钉钉机器人通知功能的编写 . 249

本节小结 . 258

6.7 分布式调度平台Crawlab 核心架构解析 . 259

实践题 . 262

本章小结 . 262


展开全部

作者简介

韦世东, 资深爬虫工程师、2019 华为云·云享专家、掘金社区优秀作者、GitChat 认证作者、夜幕团队(Night Team)成员、《Python3 反爬虫原理与绕过实战》作者,对反爬虫和逆向有研究,精通爬虫架构设计和工程链路实践,搭建过日流量亿级的爬虫架构。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航