- 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 反爬虫原理与绕过实战》作者,对反爬虫和逆向有研究,精通爬虫架构设计和工程链路实践,搭建过日流量亿级的爬虫架构。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
机器学习
¥59.4¥108.0 -
情感计算
¥66.8¥89.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0