目 录
第 1 章 认识 Python 1
1.1 Python 语言简介 1
1.1.1 Python语言的主要特点 2
1.1.2 Python语言的应用领域 2
1.2 Python 的安装及运行 3
1.2.1 在Windows中安装 Python 3
1.2.2 在Linux中安装 Python 5
1.2.3 在macOS 中安装 Python 5
1.2.4 Python 的运行 6
1.3 Python 开发工具介绍 7
1.3.1 使用 IDLE 7
1.3.2 PyCharm 的安装及使用 8
1.3.3 Visual Studio Code 的安装及使用 10
1.4 Python 源配置及安装第三方库 11
1.4.1 Python 源配置 11
1.4.2 安装Python 第三方库 12
本章小结 16
本章习题 16
第 2 章 Python 语言基础 17
2.1 语法规则 18
2.1.1 缩进 18
2.1.2 注释 18
2.1.3 变量 18
2.1.4 输入和输出函数 19
2.2 数据类型 19
2.2.1 数字类型 20
2.2.2 序列类型 22
2.2.3 字典与集合类型 26
2.3 程序的控制结构 28
2.3.1 选择结构 29
2.3.2 循环结构 31
2.4 函数 32
2.4.1 函数的定义 33
2.4.2 调用函数 33
2.4.3 函数的参数 33
2.4.4 Python 函数的注意事项 34
2.5 面向对象 35
2.5.1 类的定义 35
2.5.2 类的调用 35
2.5.3 类的注意事项 36
2.6 文件操作 36
2.6.1 使用 Python 读/写文件 36
2.6.2 使用 Python 读/写 CSV 文件 37
本章小结 38
本章习题 38
第 3 章 网络爬虫基础 41
3.1 网络爬虫概述 41
3.1.1 网络爬虫的含义 42
3.1.2 网络爬虫的分类 42
3.1.3 网络爬虫的应用场景 43
3.1.4 网络爬虫的工作原理 44
3.1.5 网络爬虫的发展历程 45
3.2 网络爬虫技术简介 46
3.2.1 在Python 中获取页面源代码 46
3.2.2 在Python 中实现页面解析 47
3.2.3 Python 爬虫框架 48
3.3 网络爬虫的法律风险 49
3.3.1 网络爬虫的法律问题和风险 49
3.3.2 如何规避网络爬虫的法律风险 50
3.4 网络爬虫的道德规范 51
3.4.1 遵循Robots 协议 52
3.4.2 爬取行为规范 52
本章小结 53
本章习题 53
第 4 章 源代码获取技术 55
4.1 HTTP 基础 56
4.1.1 HTTP 协议 56
4.1.2 HTTP 请求和响应 56
4.2 HTML 基础 58
4.2.1 HTML 概述 58
4.2.2 Chrome 浏览器的使用 60
4.3 urllib 库入门 63
4.3.1 urllib 库子模块 63
4.3.2 使用urllib 库获取网页源代码 64
4.4 requests 库入门 65
4.4.1 requests 库的特性 65
4.4.2 requests 库的安装 66
4.4.3 使用 requests 库获取网页源代码 66
本章小结 68
本章习题 68
第 5 章 网页解析技术 69
5.1 正则表达式 70
5.1.1 正则表达式的基本符号 70
5.1.2 正则表达式的使用 74
5.1.3 正则表达式使用技巧 77
5.1.4 使用正则表达式爬取百度首页 78
5.2 lxml 库 79
5.2.1 lxml 库介绍 80
5.2.2 XPath 语法基础 81
5.2.3 XPath 使用技巧 82
5.2.4 使用 XPath 爬取百度首页 84
5.3 BeautifulSoup 库 85
5.3.1 BeautifulSoup 库的安装 85
5.3.2 BeautifulSoup 库的基本用法 86
5.3.3 BeautifulSoup 库的高级用法 88
5.3.4 使用 BeautifulSoup 爬取百度首页 90
5.4 实例:爬取中国大学排名 91
5.4.1 需求分析 91
5.4.2 核心代码构建 92
5.4.3 调试运行 92
本章小结 93
本章习题 93
第 6 章 数据存储技术 95
6.1 Python 与数据库 96
6.2 MySQL 数据库 96
6.2.1 MySQL 数据库的安装 97
6.2.2 MySQL 数据库的数据结构 98
6.2.3 图形化管理工具——DBeaver 98
6.2.4 PyMySQL 的安装与特性 100
6.2.5 PyMySQL 的使用 101
6.3 MongoDB 数据库 105
6.3.1 MongoDB 数据库的安装 106
6.3.2 MongoDB 数据库的数据结构 107
6.3.3 图形化管理工具——MongoDB Compass 108
6.3.4 PyMongo 的安装及特点 108
6.3.5 PyMongo 的使用 109
6.4 Redis 数据库 117
6.4.1 Redis 数据库的安装 118
6.4.2 图形化管理工具——Redis Insight 118
6.4.3 Redis 交互环境的使用 120
6.4.4 Redis-py 的安装及使用 122
6.4.5 操作 Redis 数据库 123
6.5 实例:爬取某高校通知公告 127
6.5.1 需求分析 127
6.5.2 核心代码构建 128
6.5.3 调试与运行 129
本章小结 131
本章习题 131
第 7 章 反爬虫技术及应对 133
7.1 反爬虫技术介绍 133
7.2 设置 Headers 和 Cookies 135
7.2.1 为爬虫设置 Headers 135
7.2.2 为爬虫设置 Cookies 136
7.2.3 实例:爬取知乎首页 137
7.3 动态网页爬取技术 140
7.3.1 AJAX 技术介绍 141
7.3.2 JSON 介绍 142
7.3.3 实例:爬取乐视网影评 144
7.4 模拟浏览器技术 147
7.4.1 Selenium 简介 147
7.4.2 安装Selenium 147
7.4.3 使用Selenium 148
7.4.4 实例:使用 Selenium 模拟登录 149
本章小结 151
本章习题 151
第 8 章 Scrapy 框架 153
8.1 Scrapy 框架介绍 154
8.2 Scrapy 框架的安装与配置 154
8.2.1 Scrapy 框架的安装 154
8.2.2 Scrapy 框架的配置 155
8.3 Scrapy 框架的目录与使用 157
8.3.1 Scrapy 框架的目录 157
8.3.2 Scrapy 框架的使用 160
8.4 Scrapy 数据存储 162
8.4.1 存储数据到 MongoDB 162
8.4.2 存储数据到 MySQL 164
8.5 Scrapy 中间件 166
8.5.1 中间件介绍 166
8.5.2 中间件的使用 167
8.5.3 下载器中间件 168
8.5.4 爬虫中间件 172
8.6 Scrapy 分布式爬虫 175
8.6.1 Scrapy 分布式爬虫原理 175
8.6.2 Redis 实现分布式爬虫 175
8.7 Scrapy 网络爬虫部署 177
8.7.1 Scrapyd 的安装与使用 178
8.7.2 Scrapy 项目部署 179
8.8 实例:利用Scrapy 爬取网站内容 181
8.8.1 需求分析 181
8.8.2 构建核心代码 182
8.8.3 调试运行 188
8.8.4 部署爬虫 189
本章小结 191
本章习题 191
第9章 数据预处理 193
9.1 数据预处理介绍 194
9.2 数据预处理常用库 195
9.2.1 Pandas 库 195
9.2.2 jieba 库 207
9.3 数据预处理实战 210
9.3.1 数据预处理 210
9.3.2 文本预处理 215
9.3.3 实例:政策文章提取关键词 217
本章小结 218
本章习题 219
第10章 数据可视化 221
10.1 数据可视化介绍 221
10.1.1 数据可视化内容 222
10.1.2 数据可视化方式 223
10.2 数据可视化常用库 224
10.2.1 Matplotlib 库介绍 224
10.2.2 Seaborn 库介绍 229
10.2.3 Matplotlib 库和 Seaborn 库的区别 236
10.3 数据可视化实战 238
10.3.1 简单数据信息的可视化 238
10.3.2 复杂数据信息的可视化 244
10.3.3 实例:中国大学排名分析 251
10.4 词云数据可视化 257
10.4.1 wordcloud 库介绍 257
10.4.2 实例:《关于加快推进教育数字化的意见》政策词云 259
本章小结 261
本章习题 262
