大数据采集与清洗(微课版)

大数据实战数据清洗与采集 面向新工科的数据科学与大数据
分享 推荐 1 收藏 18 阅读 399
阮宗利 , 陈华 , 柳毓松 , 张华清 (作者) 978-7-115-66984-1

关于本书的内容有任何问题,请联系 张雪野

🔑知识体系全面,内容布局合理
本书知识体系全面,内容布局合理,采用循序渐进的方式介绍数据采集与清洗的相关知识 和技术。数据科学与大数据技术专业常见教材要么只介绍 Web 数据采集,要么仅在大数据平 台数据处理方面介绍日志采集,本书则做到了两方面兼顾。在数据清洗方面,本书主要介绍常 见的pandas 数据清洗技术。
🔑案例驱动式教学,提高读者实践能力
本书结合多个实际的综合案例介绍数据采集与清洗技术,这些案例包括中国石油大学(华 东)新闻网数据爬取、京东商城数据爬取、心率数据清洗、影视数据清洗等,以便读者掌握全 书知识重点。为了方便读者学习和实践,在本书配套的电子资源中还提供了一个爬虫示例网站, 作为本书中爬虫爬取的主要目标网站。
🔑发散型思维教学,助力读者理解相关知识
本书融入发散思维,针对同一问题,通过多种方式解决,帮助读者深刻理解相关知识。以 网络爬虫为例,最初用简单的单机串行的方式实现,引入Redis 后,介绍用单机多线程并发的 方式实现,再到用单机多进程(适合多CPU) 并发的方式实现,最后扩展到以多机协同并行的 方式实现。
¥69.80 ¥59.33 (8.5 折)

内容摘要

本书详细介绍大数据采集与清洗的相关知识和技术,共9章,分别是概述、网络爬虫基础、网页数据抓取、缓存下载页面、并发/并行爬取、用Selenium抓取动态内容、Scrapy爬虫框架及其应用、大数据平台系统日志采集、pandas数据清洗。本书大体上由数据采集(第2~8章)和数据清洗(第9章)两部分内容构成,以Python作为编程语言。数据采集部分以Web数据采集为主,也涉及Hadoop大数据平台的数据采集,内容由浅入深,循序渐进,理论与实践相结合,帮助读者理解和掌握数据采集的相关技术;数据清洗部分主要介绍pandas库的使用,帮助读者掌握数据清洗的方法。本书每章都有配套的习题,有助于读者巩固所学知?识。
本书可作为高校数据科学与大数据技术、信息管理与信息系统等专业相关课程的教材,也可作为大数据工程师的必备手册,还可作为网络爬虫爱好者和计算机领域的技术人员的参考?书。

目录

【章名目录】
第1章 概述
第2章 网络爬虫基础
第3章 网页数据抓取
第4章 缓存下载页面
第5章 并发/并行爬取
第6章 用Selenium抓取动态内容
第7章 Scrapy爬虫框架及其应用
第8章 大数据平台系统日志采集
第9章 pandas数据清洗
附录 示例网站运行发布操作指南
第 1章 概述 1
1.1 大数据来源 1
1.2 数据采集方法与基本流程 2
1.2.1 数据采集方法 2
1.2.2 数据采集基本流程 2
1.3 数据清洗方法与基本流程 3
1.3.1 数据清洗方法 3
1.3.2 数据清洗工具 4
1.3.3 数据清洗基本流程 4
1.4 本书主要内容及主要案例 5
1.4.1 主要内容 5
1.4.2 主要案例 5
1.4.3 编程工具 8
1.5 本章小结 8
1.6 习题 8
第 2章 网络爬虫基础 9
2.1 网络爬虫简介 9
2.1.1 网络爬虫分类 9
2.1.2 网络爬虫应遵守的基本准则 10
2.2 调研目标网站 10
2.2.1 了解目标网站所采用的技术与
审查网页元素 11
2.2.2 了解网站结构与规模 13
2.2.3 分析robots.txt文件 15
2.2.4 分析网站地图文件
sitemap.xml 16
2.3 使用urllib包下载网页 16
2.3.1 下载页面HTML源代码 17
2.3.2 设置字符编码 17
2.3.3 存储HTML源代码至文件 18
2.3.4 异常处理 19
2.3.5 下载重试 20
2.3.6 设置用户代理 22
2.3.7 获取网页字符集 24
2.4 使用requests包下载网页 26
2.4.1 requests包简介 26
2.4.2 基于requests包的页面
下载器 28
2.5 网络爬虫的实现 31
2.5.1 站点地图爬虫 31
2.5.2 链接模板爬虫 34
2.5.3 链接跟踪爬虫 39
2.6 对爬虫限速 44
2.6.1 爬虫限速器Throttle类 44
2.6.2 限速器安装到链接跟踪爬虫 46
2.7 让爬虫遵守站点robots协议 47
2.7.1 使用urllib.robotparser模块
解析robots.txt文件 47
2.7.2 为链接跟踪爬虫添加robot
解析器 48
2.8 本章小结 50
2.9 习题 50
第3章 网页数据抓取 51
3.1 了解HTML 51
3.1.1 什么是HTML 51
3.1.2 HTML文档结构 51
3.1.3 HTML元素的属性 53
3.2 在Web浏览器中审查网页 53
3.3 使用正则表达式抓取数据 55
3.3.1 正则表达式 55
3.3.2 re模块 58
3.3.3 使用re模块抓取页面数据 60
3.4 使用Beautiful Soup包抓取
数据 64
3.4.1 Beautiful Soup包 65
3.4.2 遍历soup文档树 66
3.4.3 搜索soup文档树 69
3.4.4 提取元素中的内容文本 72
3.4.5 使用Beautiful Soup抓取页面
数据 73
3.4.6 使用Web浏览器工具测试和
获取CSS选择器 74
3.5 使用lxml包抓取数据 77
3.5.1 lxml中使用CSS选择器 78
3.5.2 XPath选择器 80
3.5.3 使用Web浏览器工具测试和
获取XPath选择器 84
3.5.4 使用XPath选择器抓取页面
数据 85
3.6 3种抓取方法性能对比 86
3.7 本章小结 88
3.8 习题 88
第4章 缓存下载页面 90
4.1 将HTML文档缓存至磁盘 90
4.1.1 解析URL 91
4.1.2 编写磁盘缓存类 92
4.1.3 为磁盘缓存添加失效时间 94
4.1.4 将磁盘缓存功能集成到爬虫
下载器类 96
4.1.5 在链接跟踪爬虫中使用
新下载器 97
4.1.6 在链接跟踪爬虫中使用磁盘
缓存 98
4.2 使用Redis 101
4.2.1 Redis安装与配置 101
4.2.2 Redis基本命令 105
4.2.3 Redis可视化管理工具 112
4.2.4 在Python程序中访问Redis 115
4.3 将HTML文档缓存至Redis 116
4.3.1 编写Redis缓存类 116
4.3.2 在链接跟踪爬虫中使用Redis
缓存 118
4.4 本章小结 121
4.5 习题 121
第5章 并发/并行爬取 123
5.1 线程与进程 123
5.2 使用threading模块创建多线程
爬虫 126
5.2.1 threading模块 126
5.2.2 线程的生命周期 129
5.2.3 线程等待 129
5.2.4 创建守护线程 132
5.2.5 为链接跟踪爬虫创建
多线程 133
5.3 使用线程池实现多线程 140
5.3.1 线程池的使用 140
5.3.2 使用线程池实现多线程的链接
跟踪爬虫 142
5.4 使用multiprocessing包创建
多进程爬虫 146
5.4.1 multiprocessing包 146
5.4.2 为链接跟踪爬虫创建多进程
多线程 149
5.5 串行爬虫、多线程爬虫与多进程
爬虫性能比较 156
5.6 本章小结 158
5.7 习题 158
第6章 用Selenium抓取动态
内容 160
6.1 了解JavaScript、jQuery和
AJAX 160
6.1.1 为何抓取数据失败了 160
6.1.2 JavaScript、jQuery和
AJAX 162
6.2 使用Selenium获取动态数据 165
6.2.1 安装Selenium与
WebDriver 165
6.2.2 使用Selenium与浏览器
交互 166
6.2.3 案例1—爬取火车票信息 177
6.2.4 案例2—爬取京东商城
数据 183
6.3 通过数据请求API获取数据 189
6.4 本章小结 191
6.5 习题 191
第7章 Scrapy爬虫框架及其
应用 192
7.1 Scrapy爬虫框架简介 192
7.1.1 Scrapy爬虫框架结构 192
7.1.2 Scrapy基本工作流程 193
7.2 安装Scrapy 194
7.3 创建Scrapy爬虫项目 194
7.3.1 创建基于Scrapy爬虫框架的
爬虫项目 194
7.3.2 定义数据模型 195
7.3.3 创建爬虫 196
7.3.4 修改settings.py中的某些
参数 198
7.3.5 运行爬虫项目 198
7.3.6 保存爬取结果 200
7.4 使用项目管道 200
7.4.1 启用项目管道 200
7.4.2 实现项目管道功能 201
7.5 使用中间件 203
7.5.1 编写爬虫中间件 203
7.5.2 下载器中间件 207
7.6 本章小结 210
7.7 习题 211
第8章 大数据平台系统日志
采集 212
8.1 Hadoop系统及相关集群 212
8.1.1 Hadoop系统 212
8.1.2 ZooKeeper集群 213
8.1.3 Kafka集群 214
8.1.4 Flume集群 215
8.1.5 Spark集群 217
8.1.6 系统架构 217
8.2 构建Flume日志采集系统 218
8.2.1 安装Flume集群 218
8.2.2 使用Flume采集数据 219
8.3 构建Kafka分布式消息系统 224
8.3.1 安装、配置和启动Kafka
集群 224
8.3.2 Kafka集群测试 226
8.4 集成Flume与Kafka集群 228
8.4.1 配置两个Flume Agent
文件 229
8.4.2 Flume-Kafka-HDFS集群
测试 232
8.5 本章小结 234
8.6 习题 234
第9章 pandas数据清洗 235
9.1 pandas中的数据对象 235
9.1.1 Series对象 235
9.1.2 DataFrame对象 237
9.1.3 创建数据框 241
9.1.4 数据框转换为其他格式的
数据 242
9.2 数据框数据存取 244
9.2.1 []运算符 244
9.2.2 loc[]和iloc[]存取器 246
9.2.3 at[]和iat[]存取器 248
9.2.4 多级标签的存取 248
9.2.5 get()函数 249
9.2.6 head()函数和tail()函数 249
9.2.7 nlargest()函数和nsmallest()
函数 250
9.2.8 query()函数 251
9.3 数据读取与保存 251
9.3.1 读写文本文件 252
9.3.2 读写Excel文件 253
9.3.3 读写SQL数据库 255
9.4 操作数据框 257
9.4.1 修改列索引与行索引 258
9.4.2 添加列、插入新列与删除列 258
9.4.3 调整列顺序 259
9.4.4 添加行与删除行 260
9.4.5 按索引排序与按值排序 261
9.4.6 列值转化为行索引与行索引
转化为列值 262
9.4.7 数据透视与数据融合 263
9.5 缺失值处理 267
9.5.1 不满足条件的元素置空 267
9.5.2 判断元素是否为NA 268
9.5.3 统计non-NA元素的数量 268
9.5.4 删除含有NA元素的列或行 268
9.5.5 填充NA 269
9.6 删除重复数据 271
9.7 数值运算函数 271
9.8 字符串数据处理 272
9.9 日期数据处理 273
9.10 数据清洗案例 274
9.10.1 案例1—清洗影视数据 274
9.10.2 案例2—清洗心率数据 277
9.11 本章小结 281
9.12 习题 282
附录 示例网站运行发布操作
指南 283

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

阮宗利 ◎主讲课程 1.主讲本科生必修课:《C++程序设计》、《Windows程序设计》、《数据库原理与应用》、《计算机网络与编程》、《MPI并行程序设计》、《Java语言》、《数学实验》、《Python语言与实训》、《大数据采集与可视化》、《专业综合实训》等课程。 ◎承担和参与项目 1.近年来,主持的代表性科研项目: (1)海洋数值模拟与FVCOM模式研究,自主创新科研计划项目(理工科)_科技专项,2019-2021。 (2)“面向云架构的海洋数值预报模式关键技术研究”子课题合作项目,国家重点研发计划,2018-2021。 2.近年来,参与的代表性科研项目: (1)变分数阶移动-不动模型的高性能二次样条配置方法研究,自主创新科研计划项目(理工科)_强基专项,2022-2024。 (2)海上高质量充填防砂管柱与参数优化研究,横向项目,2022-2022。 (3)基于中法海洋星风浪同步观测的海浪谱同化方法研究,国家自然科学基金【面上项目】,2022-2025 (4)局地化隐式粒子滤波及其海浪数据同化应用,山东省自然科学基金【面上项目】,2020-2023. ◎获奖情况(除教师个人获奖之外,还包含指导学生获奖情况) 1. 指导本科毕业设计.校级优秀毕业设计(论文),2023。 2. 指导全国大学生数学建模竞赛. 山东省一等奖、三等奖,2023。 3. 指导全国大学生数学建模竞赛. 山东省二等奖,2022。 4. 指导全国大学生数学建模竞赛. 山东省三等奖,2019。 5.《数值计算方法(第二版)》.中国石油大学(华东)教学成果二等奖,2011,排名第3。

推荐用户

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部