数据采集与预处理-教案全套 安俊秀 第1-8章 数据采集与预处理概述-房产数据预处理_第1页
数据采集与预处理-教案全套 安俊秀 第1-8章 数据采集与预处理概述-房产数据预处理_第2页
数据采集与预处理-教案全套 安俊秀 第1-8章 数据采集与预处理概述-房产数据预处理_第3页
数据采集与预处理-教案全套 安俊秀 第1-8章 数据采集与预处理概述-房产数据预处理_第4页
数据采集与预处理-教案全套 安俊秀 第1-8章 数据采集与预处理概述-房产数据预处理_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE课程教案课程名称:数据采集与预处理课程学时:22个学时授课班级:任课教师:教师职称:教师所在单位:学时分配课堂讲授实验或上机实习实训自学指导其它166000使用教材名称主编出版社出版时间参考书目Python3网络爬虫开发实战第2版(图灵出品)崔庆才人民邮电出版社2021.11.01Python数据处理JacquelineKazil人民邮电出版社2017考核方式项目作品考核成绩评定方法平时成绩×50%+考试成绩×50%课程目标课程目标1:能通过Python进行基本的数据采集任务(1)通过课堂和教材的学习,能够了解目前常用的数据采集工具以及常用方法。(2)能利用Python和爬虫库来进行网页数据采集工作,并且能基本使用Scrapy。课程目标2:能通过Python进行基本的数据清洗和预处理操作(1)通过课堂和教材的学习,能够了解目前常用的数据预处理工具以及常用方法。(2)能利用Python和相关数据科学库来对源数据进行一系列的预处理操作。课程目标3:能运用Python进行数据采集和数据预处理相结合的基础项目编写。教学重点难点怎样教导学生将Python基本爬虫结合到爬虫框架上,如何将数据采集与数据预处理进行衔接。主要教学方法案例教学基于项目的学习问题导向学习挑战性学习体验式学习模拟、游戏式学习基于工作室的学习情景式学习备注无第1页周次第1周,第1次课章节名称数据采集与预处理概述课程类型理论课(√)实验课()其它()教学时数2教学目标及基本要求1.了解数据采集的工具与爬虫原理;2.了解爬虫的分类与基本流程3.了解数据预处理的目的与意义;4.了解数据预处理的流程与工具;5.了解数据采集与预处理的常用三方库有哪些。教学重点、难点重点:给学生先搭成一个有关数据采集和预处理体系框架,方便理解和后期的深入学习难点:讲解有关工具的原理概念,概念通常晦涩难懂授课方式讲授阅读讨论示范操作练习概念问题翻转课堂合作学习分解教学混合式学习同伴式教学协作团队学习教学基本内容与教学设计(含时间分配)一、课程导入:(20分钟)1、组织教学:包括考勤检查等上课前准备2、课堂导入:教师自我介绍,本门课程学习背景、课程教学目标、课程考核方式、教学内容安排、本门课程参考书目等二、教授数据采集与预处理基础知识(60分钟)(一)、数据采集简介:1、数据采集工具:ApacheFlume、Fluentd、Logstash、三大数据收集工具对比、Splunk。2、爬虫的原理与分类:通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、DeepWeb爬虫。3、网络爬虫核心流程:Request、Response请求与响应的结构和方式。4、爬虫的应用场景:介绍基本的爬虫应用案例。(二)、数据预处理简介1、数据预处理的目的与意义:数据预处理作为数据分析流程中工作量最大的一环,也是必不可少的。要使挖掘算法挖掘出有效的知识,必须为其提供干净,准确,简洁的数据,数据的完整性好,冗余性小,属性的相关性小等,杂乱、重复、不完整的数据会严重影响到数据挖掘算法的执行效率。2、数据预处理的流程:数据清洗、数据集成、数据变换、数据规约。3、数据预处理的工具介绍:ETL工具Kettle(三)、Python数据采集与预处理常用库1、请求库:用于实现HTTP请求操作。2、解析库:用于从网页中提取信息。3、数据存储库:这些库用于在Python中通过代码调用,来和本地数据库进行存储交互。4、处理库:这些库在Python中根据数据分析的需求,用来对数据进行一系列处理操作,如数组运算,以DataFrame形式来批量处理数据,或是将现有数据进行绘图操作。教学基本内容与教学设计(含时间分配)三、对本次课做出总结(6分钟)本次课的教学完成了………(根据实际情况填写)四、答疑(4分钟)询问学生是否有疑问讨论、思考题、作业及课后参考资料教学后记

周次第2周,第1次课章节名称数据采集与存储课程类型理论课(√)实验课()其它()教学时数2教学目标及基本要求1.掌握JSON、CSV基础数据的定义格式2.了解爬虫的基本流程3.了解什么是HTTP4.掌握网页的基本元素5.掌握并熟练使用urllib库6.掌握并熟练使用requests库7.掌握并熟练使用正则表达式提取数据8.了解什么是代理网络9.掌握并熟练使用解析库BeautifulSoup、XPath解析网页10.掌握并熟练JSON、CSV格式的读取、存储及数据在MySQL数据库的操作教学重点、难点重点:对网络数据传输,网页格式交互和三方库的教学讲解难点:如何理解和使用个正则表达式,如何对网页进行结构化解析。授课方式讲授阅读讨论示范操作练习概念问题翻转课堂合作学习分解教学混合式学习同伴式教学协作团队学习教学基本内容与教学设计(含时间分配)一、课程导入(5分钟)1、组织教学:包括考勤检查等上课前准备2、课堂导入:在第1节课中,简单介绍了数据采集和数据预处理的过程,接下来就需要实际操作如何进行数据的采集和存储。在本章节中,将主要讲解常用的数据类型以及数据的采集与数据的存储。二、讲解数据采集与存储的基础知识(75分钟)(一)数据类型与操纵1、数据类型介绍(1)、在爬虫中,当解析出网页信息后,下一步就需要将爬取的信息以数据的形式保存,以便后续对数据的分析与操作。在使用过程中,常用的数据类型有TXT、JSON、CSV、XML等。2、JSON格式数据(1)对象:对象在JavaScript中是使用花括号{}包裹起来的内容,数据结构为{key1:value1,key2:value2,...}的键值对结构。(2)数组:数组在JavaScript中是方括号[]包裹起来的内容,数据结构为[“java”,“javascript”,“vb”,...]的索引结构。。3、CSV格式数据(1)逗号分隔值(Comma-SeparatedValues,CSV),有时也称为字符分隔值,因为分隔字符也可以不是逗号,其文件以纯文本形式存储表格数据(数字和文本)。(二)、网页抓取:爬虫基础1、爬虫基本流程介绍(1)通用网络爬虫(2)聚焦网络爬虫2、HTTP基本原理(1)什么是HTTP。(2)相互之间的通信(3)HTTP工作过程3、网页基础(1)HTML标题(2)HTML段落(3)HTML链接(4)HTML图像(5)HTML元素(6)HTML表格(7)HTML布局(8)HTML框架4、使用urllib库(1)request模块(2)error模块(3)parse模块(4)robotts协议5、使用requests库请求网站(1)requests库的安装(2)测试requests库是否安装成功(3)requests库的主要方法(4)requests库的异常处理6、正则表达式提取数据(1)正则表达式的基本使用理论(2)re模块来实现Python正则表达式7、代理的使用(1)基本原理(2)代理的作用(3)代理分类8、使用Cookie登录讨论、思考题、作业及课后参考资料教学后记

周次第3周,第1次课章节名称数据采集进阶课程类型理论课(√)实验课()其它()教学时数2教学目标及基本要求 1.理解Ajax数据爬取的原理 2.掌握使用Selenium爬取数据的方法 3.了解常用的爬虫框架 4.掌握Scrapy框架的安装与基本使用 5.了解并掌握Scrapy框架的主要组件和使用方式教学重点、难点重点:动态渲染数据的爬取,Scrapy框架的使用难点:Scrapy各个组件之间的协调,ajax数据的原理授课方式讲授阅读讨论示范操作练习概念问题翻转课堂合作学习分解教学混合式学习同伴式教学协作团队学习教学基本内容与教学设计(含时间分配)一、课程导入(5分钟)1、组织教学:包括考勤检查等上课前准备2、课堂导入:前面已经学习了数据采集和预处理的基础知识,能够爬取到一些静态的网页数据信息。但是,随着前后端的分离,越来越多的网站使用了异步显示数据的方式,原来的方法就不足以满足现在的需求。所以,本章将学习Ajax(异步)数据的爬取,使用Selenium抓取动态页面,同时了解爬虫框架,并掌握Scrapy爬虫框架。(80分钟)(一)Ajax数据爬取1、什么是Ajax2、为什么要学习Ajax爬取3、怎样进行Ajax数据的爬取(1)打开浏览器的检查功能。(2)找到数据的真实地址,单击页面中的Network选项,然后刷新网页。(3)知道数据存放的真实地址后,就可以用request请求这个地址来获取数据了。(4)综上所述,爬取豆瓣电影排行这种用AJAX加载的网页时,从网页源代码中是找不到想要的数据的。(二)、使用Selenium抓取动态渲染页面1、Selenium的基本介绍与安装方法Selenium是一个自动化测试工具,利用它可以模拟人类操作浏览器来执行一些特定的动作,如对页面点击、下拉、填充数据等操作,同时还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬。下面介绍与Selenium一起使用的工具以及它们的安装。2、Selenium的简单使用(1)隐式等待(2)显式等待3、Selenium的应用实例4、Selenium的高级操作(三)、爬虫框架介绍1、爬虫框架介绍(1)Scrapy(2)PySpider(3)Crawley(4)Portia(5)Grab(6)Cola(7)Newspaper2、爬虫框架机制通用爬虫框架定义了编写一个网络爬虫最基本的过程。一个通用的爬虫框架通常包含待抓取的URL列表、已抓取的URL列表、URL下载器、URL解析器、数据库等几个模块。根据任务的需求,还可以加入监控模块、定时启动模块等。教学基本内容与教学设计(含时间分配)(四)Scrapy爬虫框架(对代码的讲解为主,可进行适当演示)1、Scrapy的简介与安装2、Scrapy的基本使用3、创建Scrapy项目4、编写Spider5、编写ItemPipeline6、设置Settings模块三、课堂总结与答疑(5分钟)讨论、思考题、作业及课后参考资料讨论:1、如何更高效的获取动态渲染页面信息作业:1、教学后记

周次第4周,第1次课章节名称数据清洗课程类型理论课(√)实验课()其它()教学时数2教学目标及基本要求 1.掌握数据清洗的定义 2.理解数据清洗的作用 3.掌握处理缺失值的相关函数 4.理解处理缺失值的几种方式 5.理解处理异常数据的方法 6.掌握数据转换中出现的函数 7.理解数据转换的作用 8.了解数据转换的几种方法教学重点、难点重点:讲解数据预处理各流程的要点和特点,互相之间的上下承接难点:如何处理缺失值核对缺失值不同情景下的填充,数据转换的方法授课方式讲授阅读讨论示范操作练习概念问题翻转课堂合作学习分解教学混合式学习同伴式教学协作团队学习教学基本内容与教学设计(含时间分配)一、课程导入(5分钟)1、组织教学:包括考勤检查等上课前准备2、课堂导入:本节课主要是介绍在数据预处理阶段中数据清洗部分的知识概念,首先本章对数据清洗的基本概念进行了简要介绍,提出了相关技术,然后将相关技术分为缺失数据处理、异常值和重复值、数据转换三个板块通过实例分析进行了介绍,让读者能够很好的理解到数据清洗在数据的预处理过程中的作用,并对数据清洗有一个整体的把握。二、数据清洗(80分钟)(一)、数据清洗概述1、缺失数据的处理(1)、估值填充(2)、整列删除(3)、变量删除(4)、特殊值填充2、异常值和重复值处理3、数据转换(1)、数据类型转换(2)、函数或映射转换(3)、重命名轴索引(4)、连续数据离散化(5)、哑变量处理(6)、数据标准化(二)、缺失数据处理1、数据缺失原因(1)、信息暂时无法获取(2)、信息被遗漏(3)、有些对象的某个或某些属性是不可用的(4)、有些信息(被认为)是不重要的(5)、获取这些信息的代价太大(6)、系统实时性能要求较高2、缺失值的主要处理方法(1)、删除元组(2)、数据补齐(3)、不处理(三)、异常值和重复值处理1、删除重复值(1)建立一个DataFrame数据(2)直接使用drop_duplicates()函数,此时会删除完全重复的行(3)使用drop_duplicates()函数,并使其按指定的一列进行去重,对于重复项,保留第一次出现的值。教学基本内容与教学设计(含时间分配)(4)尝试对多列进行重复判定并删除重复项。2、检测异常值(1)简单描述统计分析方法(2)3∂partial原则方法(3)Z-score方法3、过滤异常值(对书中代码例子讲解)(四)、数据转换1、数据类型转换2、用函数或映射进行数据转换3、重命名轴索引4、连续数据离散化5、哑变量处理类别型数据6、数据标准化三、课堂总结与答疑(5分钟)讨论、思考题、作业及课后参考资料讨论:作业:教学后记

周次第5周,第1次课章节名称数据规整与分组聚合课程类型理论课(√)实验课()其它()教学时数2教学目标及基本要求 1.掌握数据规整的方法 2.掌握数据分组机制 3.掌握groupby中聚合函数对数据进行聚合方法 4.理解并掌握各类聚合函数的使用 5.了解数据规整与分组聚合的目的和意义教学重点、难点重点:分组聚合机制的讲解难点:不同条件下的分组,不同聚合函数的使用特点授课方式讲授阅读讨论示范操作练习概念问题翻转课堂合作学习分解教学混合式学习同伴式教学协作团队学习教学基本内容与教学设计(含时间分配)一、课程导入(5分钟)1、组织教学:包括考勤检查等上课前准备2、课堂导入:在对数据的研究中,首先要定义好数据分析的目标问题,然后明确数据采集对象,之后经过数据的采集以及数据的预处理,得到了初步的数据结果,接下来在进行数据探索分析之前,需要审查自己数据是否满足数据处理应用的要求,通常都需要对数据进行规整化,包括对数据进行转化,合并,重塑。完成了数据规整后,再对数据进行分组聚合,通过分组聚合处理后的数据将更便于进行研究分析。本章首先介绍数据规整的方法,处理好数据后再对数据进行分组聚合。二、数据规整与分组聚合(75分钟)(一)、数据规整1、数据联合与合并(1)数据库风格的DataFrame连接(2)根据索引合并(3)沿轴向连接2、分层索引3、数据重塑(二)、数据分组1、创建数据分组2、运用GroupBy机制分组(三)、数据聚合1、groupby中预置的聚合方法2、aggregate()函数与transform()函数(1)使用多个函数(2)对特定列使用特定的聚合函数(3)使用自定义的函数(4)重命名结果的列名3、使用apply()函数(1)标量情况(2)Series情况(3)DataFrame情况讨论、思考题、作业及课后参考资料讨论二、作业教学后记

周次第6周,第1、2次课章节名称豆瓣电影排行榜数据爬取与预处理课程类型理论课(√)实验课(√)其它()教学时数4教学目标及基本要求 1.掌握网页结构分析方法 2.掌握对网络文本数据的爬取操作 3.理解网络爬虫请求与相应原理 4.掌握对网络采集数据的预处理方法 5.掌握对文本数据可视化的流程教学重点、难点重点:网络爬虫的基本流程讲解,正则表达式的运用,文本数据可视化难点:正则的运用,文本数据的分词授课方式讲授阅读讨论示范操作练习概念问题翻转课堂合作学习分解教学混合式学习同伴式教学协作团队学习教学基本内容与教学设计(含时间分配)一、课程导入(5分钟)1、组织教学:包括考勤检查等上课前准备2、课堂导入:利用爬虫来进行文本数据的快速收集是Python爬虫的一大优势。在本章中,利用Urllib库和正则表达式来爬取电影排行榜信息,同时结合BeautifulSoup库对爬取到的网页内容进行解析提取。二、豆瓣电影排行榜数据爬取与预处理(85分钟)(一)、豆瓣电影榜数据采集目标1、采集目标2、准备工作(二)、豆瓣网页结构分析1、宏观整体页面分析2、微观具体信息爬取(三)、创建爬虫1、准备URL2、请求与响应3、提取数据4、保存数据(四)、数据预处理(1)导入数据预处理与分析所需包(2)读取数据(3)数据探索(4)数据缺失值检测(5)数据重复值检测(6)异常值检测和属性规约(7)数据排序与分组聚合①使用柱状图来展示影片依据评价人数来进行排名的一个状况,以评价人数来展现不同影片热度的高低。②使用柱状图来对各分数电影数量进行统计,首先要做的依然是对原数据data的处理工作,将各分数进行分组,统计同一个分数下面有多少部电影。(四)、数据可视化1、各电影评价人数可视化2、各分数电影数量可视化三、课程总结和答疑(25分钟)四、实验课(90分钟)讨论、思考题、作业及课后参考资料课后作业:参考资料:教学后记周次第7周,第1、2次课章节名称Scrapy与Selenium采集股市每日点评数据并可视化课程类型理论课(√)实验课(√)其它()教学时数4教学目标及基本要求 1.掌握Scrapy框架爬取数据的逻辑和流程 2.掌握Scrapy框架组件使用方式 3.掌握Scrapy框架与Selenium扩展的结合使用 4.掌握数据存储至数据库的基本方式 5.掌握词云图的绘制方式教学重点、难点重点:Scrapy框架的使用讲解,词云图的绘制难点:Scrapy集合Selenium的使用,和词云图的不同绘制方式授课方式讲授阅读讨论示范操作练习概念问题翻转课堂合作学习分解教学混合式学习同伴式教学协作团队学习教学基本内容与教学设计(含时间分配)一、课程导入(5分钟)1、组织教学:包括考勤检查等上课前准备2、课堂导入:Scrapy作为一款爬虫框架,其功能强大,爬取效率高,扩展性强,能够和多个扩展组件结合使用,且能有效地应对反爬网站,而Selenium能够有效地爬取类似Ajax请求后动态渲染的网页信息。在本章中,利用Scrapy框架结合Selenium来爬取股市每日点评数据页面信息,重点收集和爬取日期、一句话概述和首页点评文本信息。二、Scrapy与Selenium采集股市每日点评数据并可视化(85分钟)(一)、采集目标和准备工作1、采集目标2、准备工作(二)、大盘每日点评网页结构分析(三)、使用Scrapy与Selenium爬取信息1、编写item.py与spider.py(1)编写item.py(2)编写spider.py2、编写middlewares.py3、编写pipelines.py4、设置settings.py(1)日志等级(2)是否遵守robots协议(3)数据库全局参数变量(4)下载中间件设置(5)项目管道设置5、运行结果(四)、数据预处理与可视化1、数据预处理(1)导入所需库(2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论