电子工业出版社有限公司店铺主页二维码
电子工业出版社有限公司
电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
微信扫描二维码,访问我们的微信店铺

Python3网络爬虫宝典

56.90
运费: 免运费
Python3网络爬虫宝典 商品图0
Python3网络爬虫宝典 商品图1
Python3网络爬虫宝典 商品缩略图0 Python3网络爬虫宝典 商品缩略图1

商品详情

书名:Python3网络爬虫宝典
定价:79.0
ISBN:9787121394065
作者:韦世东
版次:第1版
出版时间:2020-09

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



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

目录:
目录
第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
电子工业出版社有限公司店铺主页二维码
电子工业出版社有限公司
电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
扫描二维码,访问我们的微信店铺

Python3网络爬虫宝典

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏