书籍详情

Python网络爬虫与数据分析从入门到实践

Python网络爬虫与数据分析从入门到实践

作者:马国俊

出版社:清华大学出版社

出版时间:2023-04-01

ISBN:9787302627814

定价:¥79.80

购买这本书可以去
内容简介
  《Python网络爬虫与数据分析从入门到实践》从初学者的视角出发,以案例实操为核心,系统地介绍网络爬虫的原理、工具使用与爬取技术,并详细讲解数据分析的各种技巧。本书主要内容包括:Python基础语法,数据分析工具NumPy、Pandas、Matplotlib的使用,网络爬虫库Urllib、BeautifulSoup、Scrapy,正则表达式在网络爬虫中的应用,数据预处理与数据分析方法、中文文本处理、文本向量化技术,以及机器学习算法在数据分析中的应用。书中还给出了大量案例和项目,可以帮助读者快速上手,提高实用技能。 《Python网络爬虫与数据分析从入门到实践》内容丰富,注重实操,适用于网络爬虫岗位、数据分析岗位的初级工程师和各类工程技术人员,还可作为高校经济、管理、人文社科、大数据等专业的教学用书。
作者简介
  马国俊,计算专业硕士,教授,从业20余年,主要从事大数据技术的教学、项目开发与研究工作,先后在国内外刊物发表学术论文40余篇,获取软件著作权3项;主持、参与各类项目5项,获得奖项若干。
目录
第1章  Python基础语法 1
1.1  搭建Python开发环境 1
1.1.1  安装Python解释器 2
1.1.2  安装第三方开发包 3
1.1.3  在PyCharm里设置解释器 3
1.1.4  在PyCharm里新建项目和文件 4
1.2  Python语法入门 6
1.2.1  Python常量和变量 6
1.2.2  基本数据类型 6
1.2.3  字符串 8
1.2.4  单行注释和多行注释 10
1.2.5  条件分支语句 10
1.2.6  循环语句 11
1.2.7  break和continue 12
1.2.8  格式化输出 13
1.3  函数及用法 14
1.3.1  定义和调用函数 14
1.3.2  return关键字 15
1.3.3  递归调用函数 15
1.4  函数的特殊操作 16
1.4.1  参数是函数 16
1.4.2  返回结果是函数 17
1.4.3  匿名函数(Lambda表达式) 17
1.5  Python的数据结构 18
1.5.1  列表及其用法 18
1.5.2  元组及其用法 19
1.5.3  字典及其用法 19
1.6  动手练习 20
第2章  数据科学库之NumPy 21
2.1  NumPy库中的ndarray对象 21
2.1.1  如何创建ndarray 22
2.1.2  用dtype参数指定数据类型 23
2.1.3  创建全0或全1的ndarray 24
2.2  NumPy常见操作 25
2.2.1  用arange创建序列 25
2.2.2  常用的数学运算 26
2.2.3  NumPy的科学计算函数 26
2.2.4  NumPy的聚合统计函数 27
2.3  索引和切片操作 28
2.3.1  索引操作 28
2.3.2  布尔索引与过滤数据 29
2.3.3  切片操作中的内存共享问题 29
2.3.4  copy函数与创建副本 31
2.4  动手练习 31
第3章  数据处理库之Pandas 33
3.1  Series对象及操作 34
3.1.1  Series常规操作 34
3.1.2  Series抽样操作 35
3.1.3  Series索引操作 35
3.1.4  Series切片操作 37
3.1.5  Series布尔索引过滤操作 38
3.1.6  Series遍历操作 39
3.2  DataFrame对象及操作 39
3.2.1  创建DataFrame对象 39
3.2.2  提取DataFrame对象的数据 40
3.2.3  遍历DataFrame对象 41
3.2.4  排序DataFrame中的数据 42
3.2.5  以列为单位操作DataFrame数据 42
3.2.6  分析统计DataFrame数据 43
3.3  DataFrame同各种文件交互 44
3.3.1  把DataFrame数据导入CSV文件 44
3.3.2  把CSV数据导入DataFrame对象 45
3.3.3  把DataFrame数据导入JSON文件 46
3.3.4  把JSON数据导入DataFrame对象 46
3.4  动手练习 47
第4章  数据可视化库之Matplotlib 48
4.1  绘制各类图形 49
4.1.1  绘制折线图 49
4.1.2  绘图时的通用属性参数 50
4.1.3  绘制柱状图 51
4.1.4  绘制饼图 52
4.1.5  绘制直方图 53
4.2  设置坐标 54
4.2.1  设置x坐标和y坐标的标签文字 55
4.2.2  设置坐标范围 55
4.2.3  设置主次刻度 56
4.2.4  设置并旋转刻度文字 58
4.3  增加可视化美观效果 59
4.3.1  设置图例 59
4.3.2  设置中文标题 60
4.3.3  设置网格效果 61
4.4  设置子图效果 63
4.4.1  通过add_subplot方法绘制子图 63
4.4.2  通过subplot方法绘制子图 64
4.4.3  子图共享x坐标轴 65
4.4.4  在大图里绘制子图 66
4.5  高级图表的绘制方式 67
4.5.1  绘制散点图 67
4.5.2  绘制热力图 69
4.5.3  绘制等值线图 70
4.6  动手练习 71
第5章  数据获取之网络爬虫 72
5.1  和爬虫有关的HTTP协议 72
5.1.1  基于HTTP协议的请求处理流程 73
5.1.2  HTTP请求头包含操作系统和浏览器信息 74
5.1.3  Post和Get请求方法 75
5.1.4  HTTP常见的状态码 75
5.2  通过Urllib库获取网页信息 76
5.2.1  通过request爬取网页 76
5.2.2  设置超时时间 76
5.2.3  用URLError处理网络异常 77
5.2.4  设置header属性来模拟浏览器发送请求 78
5.3  通过BeautifulSoup提取页面信息 78
5.3.1  安装BeautifulSoup库 78
5.3.2  用Tag提取HTML元素和属性 79
5.3.3  用NavigableString提取元素值 80
5.3.4  用Comment提取注释 80
5.3.5  制作爬取指定页面内容的规则 81
5.4  通过正则表达式截取信息 83
5.4.1  查找指定的字符串 83
5.4.2  用通配符来模糊匹配 84
5.4.3  通过原子表来定义匹配规则 85
5.4.4  用findall按匹配规则截取内容 86
5.5  动手练习 88
第6章  用Scrapy框架爬取数据 89
6.1  Scrapy框架概述 89
6.1.1  生成Scrapy项目 90
6.1.2  观察Scrapy框架的构成 90
6.1.3  分析yield关键字 90
6.2  简单爬虫范例 91
6.2.1  创建爬虫项目 92
6.2.2  在items里定义数据模型 92
6.2.3  生成爬虫文件 93
6.2.4  在pipelines文件里定义数据的存储方式 94
6.2.5  观察爬虫程序的运行结果 95
6.2.6  Scrapy框架开发爬虫项目的步骤 95
6.3  复杂爬虫范例 96
6.3.1  明确需求 96
6.3.2  创建Scrapy项目 97
6.3.3  定义图书的数据模型 98
6.3.4  编写代码实现爬虫功能 99
6.3.5  把爬取结果存为CSV文件 100
6.3.6  运行爬虫并观察结果 101
6.4  动手练习 102
第7章  数据预处理与数据分析方法 103
7.1  基于Python的数据预处理 103
7.1.1  数据规范化处理 104
7.1.2  缺失值处理 104
7.1.3  重复值处理 106
7.2  Python与MySQL数据库的交互 106
7.2.1  在本地搭建MySQL环境 107
7.2.2  安装用来连接MySQL的PyMySQL库 108
7.2.3  通过select语句执行查询 110
7.2.4  执行增、删、改操作 111
7.3  描述性统计 113
7.3.1  对样本数据的分析 113
7.3.2  平均数、中位数和百分位数 114
7.3.3  用箱状图展示分位数 115
7.3.4  用小提琴图展示数据分布情况 115
7.3.5  统计极差、方差和标准差 116
7.4  概率分析方法与推断统计 117
7.4.1  用直方图来拟合正态分布图形 117
7.4.2  验证序列是否满足正态分布 118
7.4.3  参数估计方法 119
7.4.4  显著性验证 120
7.5  基于时间序列的统计方法 121
7.5.1  统计移动平均值 121
7.5.2  时间序列的自相关性分析 122
7.5.3  时间序列的偏自相关性分析 124
7.6  动手练习 125
第8章  中文文本处理 126
8.1  中文文本处理概述 126
8.1.1  中文分词 127
8.1.2  词频统计 127
8.1.3  词性标注 127
8.1.4  停用词消除 127
8.2  基于结巴库的文本处理 128
8.2.1  实现分词效果 128
8.2.2  提取关键字 129
8.2.3  标注词性 129
8.2.4  统计词频 130
8.3  引入自定义信息 131
8.3.1  用自定义词典分词 131
8.3.2  去除自定义的停用词 132
8.3.3  自定义词性 133
8.4  基于NLTK库的文本处理 133
8.4.1  统计词频和出现次数 134
8.4.2  展示高频词 135
8.4.3  绘制词频分布图 135
8.4.4  绘制词云 136
8.5  动手练习 137
第9章  文本向量化技术 138
9.1  文本向量化技术概述 138
9.1.1  什么是文本向量化 139
9.1.2  什么是TF-IDF 139
9.1.3  基于TF-IDF的文本向量化示例 139
9.2  基于Gensim的文本向量化分析 140
9.2.1  Gensim库介绍 140
9.2.2  计算TF-IDF 141
9.2.3  分词与TF-IDF技术的整合应用 142
9.3  向量化技术的使用场景 143
9.3.1  相似度分析 143
9.3.2  情感分析 144
9.4  动手练习 146
第10章  基于机器学习的分析方法 147
10.1  基础知识 148
10.1.1  什么是机器学习 148
10.1.2  安装sklearn库并了解数据集 148
10.1.3  训练集、验证集和测试集 149
10.2  线性回归分析方法 149
10.2.1  波士顿房价案例的数据集 149
10.2.2  多元线性回归分析方法 152
10.2.3  交叉验证分析技术 154
10.3  岭回归和Lasso回归分析法 155
10.3.1  岭回归和线性回归的差别 155
10.3.2  用岭回归拟合波士顿房价 157
10.3.3  用Lasso回归分析波士顿房价 159
10.4  基于机器学习的分类分析方法 160
10.4.1  SVM分类器的线性与高斯内核 160
10.4.2  用SVM分类器分类鸢尾花 162
10.4.3  基于KNN分类器的可视化效果 165
10.4.4  用KNN分类器分类葡萄酒数据 166
10.4.5  用逻辑回归分类器分类鸢尾花 167
10.5  基于手写体数字识别的分类范例 168
10.5.1  分析Digits数据集 169
10.5.2  用训练集和测试集评估分类结果 169
10.5.3  观察分类模型的预测与真实结果 171
10.6  动手练习 172
第11章  电影评论数据分析案例 174
11.1  用Scrapy爬取电影评论数据 174
11.1.1  创建Scrapy项目 175
11.1.2  分析待爬取的评论页面代码 175
11.1.3  编写评论数据的模型 177
11.1.4  编写爬虫代码 178
11.1.5  编写数据持久化代码 179
11.1.6  编写爬虫项目的配置信息 180
11.1.7  运行爬虫并获取数据 180
11.2  对爬取的电影评论数据进行分析 181
11.2.1  通过饼图分析评分 181
11.2.2  通过柱状图分析评分 182
11.2.3  绘制关于评论的词云 183
11.2.4  用直方图观察情感分析结果 185
11.3  动手练习 186
第12章  二手房数据分析案例 187
12.1  用Scrapy爬取二手房数据 187
12.1.1  创建Scrapy项目并明确待爬取的数据 187
12.1.2  分析待爬取的页面代码 188
12.1.3  编写二手房数据的模型 190
12.1.4  编写爬虫代码 191
12.1.5  编写数据持久化代码 193
12.1.6  编写爬虫项目的配置信息 193
12.1.7  运行爬虫并获取数据 193
12.2  数据预处理与数据分析 194
12.2.1  根据数据特性清洗数据 194
12.2.2  通过饼图展示二手房数据 195
12.2.3  通过柱状图展示二手房数据 197
12.2.4  通过直方图展示二手房房价 199
12.2.5  通过小提琴图展示二手房数据 200
12.2.6  通过散点图展示关注情况 202
12.2.7  绘制二手房相关的词云 203
12.3  动手练习 205
第13章  通过电子邮件发送数据分析结果 207
13.1  实现发送电子邮件的功能 207
13.1.1  发送简单格式的电子邮件(无收件人信息) 208
13.1.2  发送HTML格式的电子邮件(显示收件人) 209
13.1.3  包含文本附件的电子邮件(多个收件人) 211
13.1.4  在正文中嵌入图片 212
13.2  以电子邮件的形式发送RSI指标图 214
13.2.1  RSI指标的原理和算法描述 214
13.2.2  通过范例程序观察RSI的算法 215
13.2.3  把Matplotlib绘制的RSI图存储为图片 216
13.2.4  RSI整合K线图后以电子邮件形式发送 218
13.3  以电子邮件的形式发送基于RSI指标的买卖点 222
13.3.1  RSI指标对买卖点的指导意义 222
13.3.2  基于RSI指标计算买点并以电子邮件的形式发出 222
13.3.3  基于RSI指标计算卖点并以电子邮件的形式发出 225
13.4  动手练习 227
猜您喜欢

读书导航