项目二教案6 爬取数据表保存在csv文件_第1页
项目二教案6 爬取数据表保存在csv文件_第2页
项目二教案6 爬取数据表保存在csv文件_第3页
项目二教案6 爬取数据表保存在csv文件_第4页
项目二教案6 爬取数据表保存在csv文件_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

XX学校《大数据应用技术基础》学科教案授课课题爬取数据表保存在csv文件授课老师授课时间周一第1、2节授课课时2课时授课班级XX班班级地址??电脑室教学目标【知识目标】1.理解网络爬虫的基本概念和工作流程,明确爬取网页数据的目的和意义。2.掌握使用requests库发送HTTPGET请求获取网页内容的方法,包括设置编码以正确解析网页文本。3.学会运用BeautifulSoup库解析HTML文档,能够定位并提取网页中表格元素及其包含的数据。4.理解CSV文件的格式特点,掌握使用Python的csv模块将提取的数据写入CSV文件的具体步骤,包括表头的写入和多行数据的批量写入。【能力目标】1.能够独立在IIS服务器上发布网站,并在浏览器中成功访问网站首页,为后续爬虫操作准备目标数据源。2.能够熟练使用PyCharm创建Python项目,并在main.py文件中编写、调试和运行爬虫程序。3.具备根据具体需求(如提取前10行记录)修改爬虫代码,正确提取网页表格中指定数据的能力。4.能够将爬取到的数据按照要求保存到指定路径(如D:/out.csv)的CSV文件中,并能使用合适的工具(记事本或电子表格软件)打开查看文件内容,验证数据保存的正确性。【素养目标】1.培养学生对数据获取与处理的兴趣,激发其在大数据技术领域探索和学习的主动性。2.提升学生的逻辑思维能力和问题解决能力,通过分析任务需求,逐步实现数据爬取和保存的全过程。3.树立学生规范编写代码的意识,培养良好的编程习惯,如代码注释的添加、变量的合理命名等。4.增强学生的信息素养,使其了解数据在当今社会的重要性,以及合法、合规获取数据的基本准则。教学重点及突破策略教学重点:1.使用requests库获取网页内容:这是爬虫的第一步,能否成功获取网页内容直接影响后续的数据提取。2.运用BeautifulSoup库解析HTML并提取表格数据:网页结构复杂,准确找到并提取表格中的目标数据是核心环节。3.使用csv模块将数据写入CSV文件:将提取到的内存数据持久化到文件是完成任务的关键步骤。突破策略:1.对于requests库的使用,通过演示简单的GET请求案例,让学生直观感受如何获取网页源码,并强调设置正确编码(如response.encoding='utf8')的重要性,避免中文乱码问题。提供练习题,让学生尝试获取不同网页的内容。2.针对BeautifulSoup库解析和提取表格数据,先讲解HTML表格的基本结构(table、tr、td标签),然后结合实例代码,逐步演示如何使用soup.find('table')定位表格,用find_all('tr')获取所有行,再遍历行提取单元格数据。引导学生分析参考代码中rows[1:11]的作用,理解如何提取指定行数的数据。3.关于csv模块写入数据,先介绍CSV文件的格式,然后通过分步讲解打开文件、创建writer对象、写入表头(writerow)和写入多行数据(writerows)的过程。让学生对比不同数据写入方式的差异,并通过运行代码查看生成的CSV文件,加深理解。教学难点及突破策略教学难点:1.正确理解和运用BeautifulSoup库的查找方法(如find、find_all)定位到网页中的目标表格元素,特别是当网页结构较为复杂或存在多个表格时。2.对提取到的表格行数据进行正确处理,例如跳过表头行、只提取前10行数据,以及将单元格内容转换为合适的数据格式存入列表。3.在实际操作中可能遇到的问题,如网页访问失败、编码错误、CSV文件路径不存在或权限问题等,如何进行排查和解决。突破策略:1.为了突破BeautifulSoup定位表格的难点,提前准备一个结构清晰的示例网页(如图2-12所示的网站首页),让学生对照网页源码和实际页面,理解标签之间的层级关系。在教学中,逐步演示从soup对象开始,如何一步步缩小范围找到目标表格,并鼓励学生动手尝试修改查找条件。2.对于表格行数据的处理,通过详细分析参考代码中forrowinrows[1:11]的循环逻辑,解释切片操作的作用是跳过表头行并只取前10行数据。引导学生思考如果要提取不同范围的数据应如何修改代码。对于单元格数据提取,重点讲解列表推导式[row_data=[cell.textforcellincells]]的用法。3.针对实际操作中的问题,在教学过程中设置常见错误场景的演示,如将url设置错误导致请求失败,让学生观察错误提示信息,学习如何根据错误信息定位问题。对于文件路径问题,强调在Windows系统中路径分隔符的正确使用(如'D:/out.csv'),并提醒学生确保目标文件夹存在且有写入权限。鼓励学生在遇到问题时主动思考、查阅资料或与同学讨论。教学方法和手段(含信息化技术)教学方法:讲授法、演示法、任务驱动法、小组讨论法。通过讲授法讲解网络爬虫、requests库、BeautifulSoup库和csv模块的基本理论知识;演示法展示在IIS发布网站、使用PyCharm编写运行爬虫程序的全过程;任务驱动法让学生以完成“爬取数据表保存为CSV文件”任务为目标,主动学习和实践;小组讨论法鼓励学生在遇到问题时相互交流、共同解决。

教学手段:多媒体课件(PPT)、计算机机房、IIS服务器软件、PyCharm集成开发环境、浏览器。利用多媒体课件呈现教学内容和代码示例;在计算机机房让学生进行实际操作练习;通过IIS服务器发布教学用网站,提供爬虫目标数据源;使用PyCharm作为学生编写和运行Python代码的工具;借助浏览器查看网站首页和爬取效果。

信息化技术:利用网络资源提供相关库的官方文档和教程供学生参考;通过屏幕广播软件展示教师的操作过程,方便学生跟随学习;可使用在线代码协作平台或学习管理系统发布任务和提交作业。课程思政元素1.数据安全与伦理教育:在讲解网络爬虫技术时,强调合法合规获取数据的重要性,引导学生树立正确的数据使用观念,尊重网站的robots协议,不爬取敏感信息和受版权保护的数据,培养学生的信息安全意识和社会责任感。

2.工匠精神培养:通过要求学生规范编写代码、仔细调试程序、注重细节(如正确设置编码、处理文件路径),培养学生严谨、认真、精益求精的工匠精神和职业素养。

3.创新意识激发:在任务拓展环节,鼓励学生尝试修改代码提取不同列的数据,引导学生思考爬虫技术在不同领域的应用,激发学生的创新思维和探索精神。

4.团队协作精神:在小组讨论和解决问题的过程中,培养学生的沟通能力和团队协作意识,让学生明白合作在技术学习和实际工作中的重要性。教师教学实施学生学习活动课程引入提问:同学们在日常生活中是否遇到过需要从网页上获取大量表格数据的情况?比如获取某网站的商品信息表、学生成绩表等。如果手动复制粘贴,会非常繁琐且容易出错。那么有没有更高效的方法呢?引出本节课的主题:今天我们就来学习如何使用Python编写网络爬虫,爬取网页中的数据表并将其保存到CSV文件中,完成“任务6爬取数据表保存在csv文件”。授课过程1.任务分析讲解本次任务的具体要求:在IIS发布网站、在浏览器浏览网站首页、编写爬虫程序爬取网站首页数据表的前10行记录并保存到D:/out.csv文件中。展示图2-12,让学生了解目标网站首页的效果。2.相关知识讲解(1)网络爬虫基础:简要介绍网络爬虫的概念、工作原理和应用场景。(2)requests库:讲解requests库的作用,重点演示如何使用requests.get(url)发送GET请求,以及如何设置response.encoding来指定编码,获取网页文本(response.text)。(3)BeautifulSoup库:介绍BeautifulSoup库在HTML解析中的作用,讲解如何创建BeautifulSoup对象(soup=BeautifulSoup(html,'html.parser')),以及使用find('table')、find_all('tr')等方法查找HTML元素。(4)csv模块:讲解CSV文件的格式,介绍csv.writer的使用,包括writerow(写入单行数据)和writerows(写入多行数据)方法。3.任务实施步骤讲解与演示(1)在IIS发布网站:详细讲解如何在资源管理器中打开网站目录C:\inetpub\wwwroot,并将网站文件复制到该目录下,完成网站发布。(2)创建Python项目:演示启动PyCharm,执行File/NewProject...创建Python项目的过程。(3)编写爬虫代码:逐行讲解参考代码的含义和作用,重点解释如何发送请求获取网页内容、解析HTML提取表格数据(特别是rows[1:11]提取前10行数据,跳过表头行)、以及如何将数据保存为CSV文件(包括表头的写入)。(4)运行程序与查看结果:演示运行程序后,如何打开D:/out.csv文件查看输出内容,展示图2-13的效果。分享经验:说明csv文件可以用记事本或电子表格软件打开。课堂实操内容让学生按照任务实施步骤独立完成操作:1.学生在自己的电脑上,按照教师讲解的方法在IIS中发布网站(若条件不允许,可使用教师提供的已发布网站地址)。2.打开浏览器,浏览网站首页,确认能看到目标数据表。3.在PyCharm中创建新的Python项目,并在main.py文件中输入参考代码。4.仔细检查代码,特别是url地址、文件保存路径等是否正确,然后运行程序。5.程序运行完成后,打开D:/out.csv文件,检查数据是否正确爬取并保存。教师巡视指导,及时解决学生操作过程中遇到的问题。课堂小结(1)知识总结回顾本次课学习的主要内容:网络爬虫的基本流程、requests库获取网页内容、BeautifulSoup库解析HTML提取表格数据、csv模块保存数据到CSV文件。强调各步骤的关键知识点和注意事项,如编码设置、数据提取范围、文件路径等。(2)优秀经验邀请操作完成较好或有独特见解的学生分享自己的学习经验和操作技巧,如如何快速定位表格元素、如何排查代码错误等。教师对学生的分享进行点评和补充,鼓励学生相互学习。课程引入思考教师提出的问题,回忆自己从网页获取数据的经历,对使用高效方法获取数据产生兴趣,积极参与课堂互动。授课过程1.任务分析认真听讲,明确本次任务的具体目标和步骤,观察图2-12,了解目标网站首页的样子。2.相关知识讲解(1)专注听讲网络爬虫的概念、原理和应用,对爬虫技术有初步认识。(2)跟随教师讲解,学习requests库的使用方法,记录发送GET请求和获取网页文本的关键代码。(3)理解BeautifulSoup库的功能,学习创建BeautifulSoup对象和查找HTML元素的方法,思考如何运用这些方法定位所需数据。(4)认真学习CSV文件格式和csv模块的相关方法,了解如何将数据写入CSV文件。3.任务实施步骤讲解与演示(1)仔细观看教师演示在IIS发布网站的过程,记录关键操作步骤。(2)观察教师创建Python项目的操作,熟悉PyCharm的基本使用。(3)认真听教师对参考代码的逐行讲解,理解每一部分代码的作用,特别是数据提取和保存的逻辑。对于不理解的地方及时提问。(4)关注教师运行程序和查看结果的过程,了解如何验证任务是否完成,记住csv文件的打开方式。课堂实操内容按照任务实施步骤进行独立操作:1.在自己的电脑上尝试发布网站,若遇到问题,先自行思考,若无法解决则向教师或同学求助。2.打开浏览器浏览网站首页,确认目标数据表存在。3.在PyCharm中创建项目并输入代码,输入过程中注意代码的正确性,特别是括号、引号等符号的使用。4.检查代码无误后运行程序,观察程序运行过程中是否有错误提示。5.运行完成后,打开D:/out.csv文件,检查数据是否正确,若发现问题,尝试根据错误提示或参考代码查找原因并修正。课堂小结(1)知识总结跟随教师一起回顾本次课学习的知识要点,查漏补缺,加深对各知识点的理解和记忆。(2)优秀经验认真听取同学分享的经验和技巧,结合自己的操作过程进行反思,学习他人的优点,改进自己的学习方法。作业:应用本节课的例子,在本节课任务的基础上,设计一个有应用内容的页面作品,可以自选主题或升级老师给的主题,内容自行设置。具体要求如下:1.主题选择:可以选择自己感兴趣的领域,如电影排行榜、图书信息、体育比赛成绩等,或者在教师提供的“放映厅售票数据”主题基础上进行升级,例如增加更多场次数据、不同电影类型的数据等。2.数据爬取:编写爬虫程序爬取所选择主题对应的网页数据表(可以是自己搭建的本地网站,也可以是公开的、允许爬取的网络数据源)。要求爬取的数据量不少于20行,且至少包含3个不同的数据字段。3.数据处理:对爬取到的数据进行适当的处理,如筛选特定条件的数据(如某一放映厅的所有场次数据)、提取部分列数据等,具体处理方式根据所选主题和应用需求确定。4.CSV文件保存:将处理后的数据保存到CSV文件中,文件路径自行指定(需确保有权限写入),CSV文件需包含合适的表头。5.结果验证:打开保存的CSV文件,检查数据是否完整、准确,并对结果进行简要分析,说明所设计页面作品的应用价值或展示内容。教学反思:1.本次课通过任务驱动的方式引导学生学习网络爬虫技术,大部分学生能够按照步骤完成任务,对requests库、BeautifulSoup库和csv模块的基本使用有了一定的掌握。但在实际操

温馨提示

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

评论

0/150

提交评论