《网络数据爬取与分析实务》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:李周平编著
  • 出 版 社:上海:上海交通大学出版社
  • 出版年份:2018
  • ISBN:9787313200327
  • 页数:245 页
图书介绍:本书以Python基本语法为基础,首先系统介绍Python爬虫与数据挖掘库的用法,进而以真实网络数据爬取与数据挖掘案例为主线,以实战任务的形式就爬虫技术原理与Urllib、beautifulsoup、Scrapy等爬虫架构进行实例分析。最后深入浅出地介绍数据挖掘分析的关键任务:数据探索处理、回归、分类、聚类、关联规则、可视化等。

第1章 数据科学概述 1

1.1 什么是数据科学 1

1.1.1 数据科学的概念 1

1.1.2 数据科学的处理流程 2

1.2 数据分析师、数据工程师与数据科学家 3

1.2.1 数据分析师 4

1.2.2 数据工程师 4

1.2.3 数据科学家 5

第2章 Python语法基础 6

2.1 Python的程序结构 6

2.1.1 Python文件类型 6

2.1.2 包、模块、函数结构 7

2.2 Python编码规范 8

2.2.1 通过缩进规范编码的层次关系 8

2.2.2 代码注释 9

2.2.3 语句的分隔 10

2.2.4 变量赋值及作用范围 10

2.3 Python编程环境的搭建 12

2.3.1 Python的版本 12

2.3.2 Python集成开发工具 12

2.3.3 Jupyter Notebook的使用 13

2.4 Python的数据结构 15

2.4.1 列表(List) 15

2.4.2 字典(Dictionary) 19

2.4.3 元组(T uple) 21

2.5 Python控制语句 22

2.5.1 条件选择语句 22

2.5.2 循环语句 23

2.5.3 异常处理语句 26

习题 29

第3章 使用Urllib库编写爬虫 31

3.1 网络爬虫概述 31

3.1.1 什么是网络爬虫 32

3.1.2 为什么要学习网络爬虫技术 32

3.1.3 聚焦爬虫的基本原理 33

3.2 使用Urllib.request模块编写爬虫 37

3.2.1 Urllib库简介 37

3.2.2 编写第一个爬虫程序 37

3.2.3 urlopen()函数超时设置 38

3.3 修改User-Agent属性模拟浏览器访问 39

3.3.1 认识HTTP协议的User-Agent属性 39

3.3.2 修改User-Agent属性的方法 41

3.4 HTTP协议详解 42

3.4.1 HTTP请求与应答过程 42

3.4.2 HTTP请求格式 42

3.5 模拟HTTP-GET方法的爬虫 45

3.6 模拟HTTP-POST方法的爬虫 46

3.6.1 urllib.request.Request类 46

3.6.2 POST请求过程 47

3.6.3 爬虫模拟POST登录请求 49

习题 50

第4章 使用正则表达式提取数据 51

4.1 正则表达式原理 51

4.2 正则表达式语法 52

4.2.1 正则表达式的构成 52

4.2.2 贪婪与懒惰模式 55

4.3 re模块常用的函数 56

4.3.1 常用的匹配函数 56

4.3.2 编译函数compile() 58

4.4 正则表达式应用实例 58

4.4.1 re.findall()只提取“()”匹配的字符串 58

4.4.2 匹配国内手机号码 59

4.4.3 匹配电子邮件 59

习题 60

第5章 使用BeautifulSoup库提取数据 62

5.1 BeautifulSoup库简介 62

5.1.1 HTML和XML的DOM TREE结构 63

5.1.2 Tag对象 63

5.1.3 BeautifulSoup解析器 65

5.2 BeautifulSoup的信息提取 65

5.2.1 构造BeautifulSoup对象 65

5.2.2 信息提取的四种方法 66

5.3 BeautifulSoup的遍历 73

5.3.1 Tag对象向下遍历 73

5.3.2 Tag对象向上遍历 76

5.3.3 Tag对象平行遍历 77

习题 77

第6章 爬虫项目实战 79

6.1 网易新闻中心爬虫 79

6.1.1 网页结构分析 80

6.1.2 将bytes对象转换为字符串 82

6.1.3 提取URL与新闻标题 84

6.2 通过Session模拟登录豆瓣 85

6.2.1 爬虫模拟登录原理 85

6.2.2 网页结构分析 86

6.2.3 爬虫代码实现 89

6.3 链家二手房信息爬虫 93

6.3.1 网页结构分析 93

6.3.2 制定信息提取方案 95

6.3.3 代码实现 97

6.4 爬取拉勾网JSON格式数据 100

6.4.1 网页结构分析 101

6.4.2 代码实现 104

习题 107

第7章 Pandas数据处理基础 108

7.1 数据处理概述 108

7.1.1 数据的不一致 109

7.1.2 数据的重复与冗余 109

7.1.3 数据的不完整 109

7.1.4 数据存在噪声 109

7.2 Pandas数据结构 110

7.2.1 Series数据结构 110

7.2.2 DataFrame数据结构 113

7.3 DataFrame的基本操作 115

7.3.1 列的基本操作 115

7.3.2 行的基本操作 118

7.3.3 行列子集的引用 119

7.3.4 排序 119

7.4 DataFrame数据的连接 120

7.4.1 用于轴向连接的concat方法 120

7.4.2 用于关系型数据库的连接方法merge 125

7.4.3 行索引index上的连接方法join 129

7.5 Pandas数据输入和输出 131

7.5.1 读写CSV与Text数据 131

7.5.2 读写Excel数据 132

习题 133

第8章 Pandas数据处理常用方法 136

8.1 分组统计与转换 136

8.1.1 分组统计 136

8.1.2 分组对象的迭代与选取 139

8.1.3 分组级转换 141

8.1.4 数据透视表 144

8.2 缺失值处理 144

8.2.1 缺失值查询 146

8.2.2 缺失值删除 147

8.2.3 填充缺失值 148

8.3 时间序列数据处理 149

8.3.1 Python的日期时间类型 150

8.3.2 Pandas中的时间序列数据类型 151

8.3.3 时间序列的频率、切片、重采样 154

8.3.4 时间序列绘图 159

8.4 向量转换 160

习题 162

第9章 数据处理实战 163

9.1 二手房数据处理 163

9.1.1 数据导入与观测 163

9.1.2 缺失值处理 165

9.1.3 数据转换 166

9.1.4 数据重塑 168

9.2 职位数据处理 169

9.2.1 数据导入与观测 170

9.2.2 缺失值处理 171

9.2.3 数据转换 171

9.3 职位描述的文本信息处理 172

9.3.1 中文分词词库jieba简介 172

9.3.2 职位描述文本分词 174

习题 177

第10章 SQLite数据库操作 178

10.1 SQLite数据库简介 178

10.2 Python读写SQLite 179

10.3 Pandas读写SQLite 181

10.3.1 将DataFrame数据写入数据库 182

10.3.2 将数据库数据读出到DataFrame 182

10.3.3 数据库查询 183

习题 184

第11章 机器学习概述 185

11.1 认识机器学习 185

11.2 机器学习的应用范围 187

11.2.1 数据挖掘 188

11.2.2 人工智能 188

11.2.3 深度学习 188

11.2.4 统计学习 189

11.3 机器学习的算法 189

11.3.1 监督式学习 189

11.3.2 非监督式学习 190

11.4 Scikit-learn机器学习包 190

11.4.1 导入数据 191

11.4.2 训练模型 193

11.4.3 模型预测 194

11.4.4 模型评估与选择 194

习题 194

第12章 从线性回归到分类 196

12.1 线性回归算法 196

12.1.1 线性回归算法原理 196

12.1.2 线性回归实现 197

12.2 逻辑回归分类算法 200

12.2.1 从线性回归到线性分类 200

12.2.2 从线性分类到逻辑回归 201

12.2.3 逻辑回归实现 203

习题 204

第13章 分类模型及应用 206

13.1 K近邻分类算法 206

13.1.1 KNN算法原理 206

13.1.2 KNN算法实现 208

13.2 决策树分类算法 210

13.2.1 决策树算法原理 210

13.2.2 决策树算法实现 213

13.3 随机森林分类算法 216

13.3.1 集成学习 216

13.3.2 随机森林算法原理 218

13.3.3 随机森林算法实现 219

习题 221

第14章 分类模型的评估 223

14.1 训练与测试样本 223

14.1.1 留出法 224

14.1.2 K-fold交叉验证法 228

14.2 性能评价指标 231

14.2.1 混淆矩阵 232

14.2.2 查准率、查全率与F1指标 234

14.3 分类阈值的调整 236

14.3.1 ROC曲线 236

14.3.2 AUC指标 239

习题 241

参考文献 243