书籍详情

Python3网络爬虫宝典

Python3网络爬虫宝典

作者:韦世东 著

出版社:电子工业出版社

出版时间:2020-09-01

ISBN:9787121394065

定价:¥79.00

购买这本书可以去
内容简介
  本书从实际的爬虫业务需求延伸到知识点和具体实现,并详细介绍了其中的原理。首先带领读者领略爬虫程序的构成和完整链条,学习自动化工具的应用场景和基本使用;接着介绍了增量爬取的分类和具体实现、基于Redis 的分布式爬虫实现和基于RabbitMQ 的分布式爬虫实现,通过阅读论文和源码剖析详细介绍了高准确率的网页正文自动化提取方法;然后通过源码调试了解到与Python 项目的部署和调度相关的知识,进而动手实践,编写了一款具备权限控制、Python 通用项目部署、定时调度、异常监控和钉钉机器人消息通知的爬虫项目管理平台;最后通过解读分布式调度平台的核心架构,帮助大家了解分布式架构中最为重要的节点通信、文件同步等知识。本书适合爬虫工程师、爬虫技术爱好者和Python 开发者阅读,也适合爬虫团队管理者、高校教师和培训机构的讲师阅读。
作者简介
  韦世东, 资深爬虫工程师、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
本章小结 ............................................................
猜您喜欢

读书导航