版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
授课教案20—20学年第学期_______学院________专业课程名称数据采集与预处理技术任课教师授课形式理论教学□课内实践□理论+实践☑习题复习□考核评价□其他活动□课时安排2学时(90分钟)序号12授课日期月日月日月日月日授课班级2026级相关专业教学班授课地点实训机房(多媒体)教学内容:项目四任务三网页数据解析课程思政设计:1.方法取舍意识——正则灵活但不看层级,解析库守结构但对不规范文档吃力。课堂讲清没有一种方法通吃,选法是专业判断的一部分,不是随手挑一个。2.规范意识——同一份数据用不同方法提取,得到的字段名与类型要一致。课堂讲清解析结果要能直接交给下一道工序,结构不统一等于没解析完。3.求实态度——属性可能不存在,节点可能取不到。课堂讲清取不到时要如实给出未找到的标记,不能拿上一个值顶替,也不能默默跳过。4.合规意识——解析的对象是他人网站的内容。课堂讲清解析只是加工环节,采集范围是否合规在上一任务已经定下,加工过程同样要在范围内进行。教学目标:知识目标:能说出网页数据解析的定义;能说出正则表达式八个常用元字符各自的含义与两个常用方法的作用;能说出BeautifulSoup两种解析器的差别与各自的适用场合;能说出find与find_all两个方法的区别;能说出select与select_one两个方法的区别以及井号、点号、空格在选择器表达式中的含义;能说出XPath四个语法符号各自的作用;能说出四种解析方法各自的适用场合。能力目标:能用正则从固定格式的文本中提取价格数字与链接地址;能创建解析对象并用标签名、类名、标识三种方式查找元素;能用CSS选择器与XPath两种方式定位同一元素;能取出元素的文本内容与属性值,并在属性不存在时给出妥当处理;能从脚本标签中提取内嵌的JSON字符串并解析为字典。素质目标:养成按数据格式选择解析方法的习惯;养成取不到值时如实标记而不是用旧值顶替的习惯;养成提取结果字段名与类型保持统一的习惯。教学重难点及解决方法:教学重点:find与find_all、select与select_one两组方法的区别与选用;CSS选择器表达式中三个符号的含义;XPath四个语法符号的用法;四种解析方法的适用场合。教学难点:从脚本标签中提取内嵌JSON字符串的两步做法;CSS选择器与XPath在表达同一意图时的写法对照。学生常把整段脚本文本当成JSON直接解析而报错,也在两种写法之间转换时把属性与文本的取法弄混。解决方法:针对难点:内嵌JSON的提取先演示直接解析整段脚本会报什么错,学生看到报错再讲先用正则圈出花括号内的那一段,第二步才交给JSON模块;两种写法做成一张左右对照表投屏,同一意图两种写法并排呈现,学生照表转换。针对重点问题:采用边讲边练,每讲完一种方法即在机房同步敲一遍并当场打印结果,教师巡看每行输出;两组方法各做成一张对照表投屏,学生照表选方法;讲属性取值时把取不到值会返回什么与直接下标取会报什么错各演示一次;课后按随堂检测结果推送分层强化练习。教学环境及平台:实训机房(多媒体),人手一机,配备投影与广播教学系统;课程在线教学平台。软件与工具:Python3运行环境、beautifulsoup4、lxml;文本编辑器。数据与素材:教材示例电商商品页面源码(标题在带类名的标题标签内,品牌与分类各在带类名的行内元素内,特点为列表项,脚本标签中内嵌商品数据)。教学资源:①教材《数据采集与预处理技术》第101–107页正文与示例代码;②本课程课件(含两种解析器对照表、两组查找方法对照表、CSS与XPath写法对照表、四种解析方法选用表);③课程在线教学平台(预习测验、随堂练习、课后答疑)与课程AI智能体。学习效果评价方式:过程性评价40%+终结性评价60%的综合评价方式,本次课成绩计入平时成绩,对应其中三项:①课堂实操(主要部分):完成多格式数据的提取与整合,按方法选用合理性、取空值处理妥当性、整合结果字段完整性三项评分;②随堂测验:下课前5题(八个元字符的含义、两种解析器的差别、两组查找方法的区别、XPath四个符号、四种方法的适用场合),平台自动批改,当场讲评错误率最高的一题;③课后作业:提交提取程序的源码、运行结果截图,并说明每个字段用的是哪一种方法。课前预习:平台3道诊断题(解析有哪几种方法、正则用来做什么),统计错误率用于调整讲授重点。课后小结:填表说明:1.序号,指该课程授课的顺序号,应与授课计划一致;2.授课形式在相应的选项打“√”。教学内容及过程时间分配方法及手段思政元素【教师活动】1.承接上一任务:技术团队已经成功抓取到了竞品网页的内容。2.讲摆在他们面前的新挑战:面对海量的HTML源码,如何从中准确提取出需要的商品名称、价格、评分等信息。3.讲他们走过的弯路:曾尝试用字符串匹配的方式解析数据,但该方法容错率极低,网页结构稍有变化就会造成数据解析失败。4.提问:网页结构稍变就失败,问题出在哪?让学生先说。5.讲清症结:字符串匹配不认层级,页面一改就找不到位置;因此需要专业化的解析方法。6.点明本任务要讲的四种方法:正则表达式、BeautifulSoup、XPath、JSON解析。7.讲清目标:从HTML文档中精准提取数据。【学生活动】记录团队走过的弯路;对网页结构稍变就失败的原因发表看法;说出自己截取网页文字时用过什么办法。【设计意图】对应知识目标1。用上一任务的成果引出新问题,学生看到抓到只是第一步,取出来还要另一套本事;先让学生分析字符串匹配为什么脆弱,后面讲解析库认层级这一优势时正好对照;四种方法一开头点名,后面逐种展开时有总纲。环节一情境导入:抓到了却取不出来(8分钟)情境导入任务驱动法(投屏+讲述)方法取舍:没有通吃的只有合适的【教师活动】1.给定义:正则表达式是一种强大的文本匹配工具,使用特定的语法规则来描述字符串的匹配模式。2.讲支持方式:Python通过内置模块提供正则支持。3.讲组成:由普通字符和称为元字符的特殊字符组成。4.并列八个常用元字符投屏:点号匹配任意单个字符;星号匹配前面的字符零次或多次;加号匹配前面的一次或多次;问号匹配前面的零次或一次;反斜杠加字母d匹配数字;反斜杠加字母w匹配字母、数字或下划线;方括号匹配其中任意一个字符;圆括号用于分组,把括号内的内容作为提取结果。5.讲第一个应用场景提取价格:投屏一段含价格的标签文本,写出模式,逐段讲清——先匹配货币符号,再用匹配数字的部分加上可重复一次以上的量词表示整数部分,中间是可有可无的小数点,后面是零个或多个数字表示小数部分,外层圆括号把数字部分作为提取结果。6.讲搜索方法与取组:一个方法在整个字符串中搜索第一个匹配项,取结果时用带序号的取组调用。7.讲第二个应用场景提取链接:投屏两段超链接文本,讲清模式里先匹配属性名与左引号,再用方括号内加插入符的方式匹配引号内的一个或多个非引号字符,圆括号把它作为提取结果。8.讲另一个方法的差别:它返回字符串中所有匹配项的列表,因此可以一次性提取页面中的所有链接。9.讲清正则的取舍:优点是灵活性强,可以匹配任意文本模式;缺点是复杂模式的编写和维护较为困难,且不考虑HTML的层级结构,可能导致匹配不准确。10.提问:要取出页面上所有图片的链接地址,该用哪一个方法?让学生回答并说明理由。【学生活动】记录八个元字符的含义;跟着读懂两条模式并说出各自取出什么;说出两个方法的差别;回答取全部链接该用哪一个及理由。【设计意图】对应知识目标2、能力目标1,落实重点正则。八个元字符并列成表,学生写模式时有对照;两条模式逐段拆解,抽象符号与真实字段一一对应;两个方法按取一个与取全部对比,选用标准清楚;优缺点在讲完应用后再点明,学生知道正则该用在什么地方、不该用在什么地方。环节二正则表达式格式固定的文本(12分钟)讲授+板书对照表直观演示法规范意识:模式要写清才好维护【教师活动】1.讲定位:BeautifulSoup是Python专门用于解析HTML和XML文档的库,提供了简洁直观的接口,是网页数据解析最常用的工具之一。2.讲安装:通过pip安装,机房同步执行。3.讲解析器:使用时需要指定解析器,它负责把HTML文本转换为可操作的文档树结构。4.讲两种解析器并投屏成对照表:内置解析器无须额外安装,适合处理大多数标准的HTML文档;第三方高性能解析器解析速度更快、容错能力更强,适合处理格式不规范的HTML,但需要另外安装。5.讲创建对象的写法:第二个参数指定解析器,现场给出两种写法。6.讲第一种查找按标签名:投屏一段含标题、价格、特点列表的示例文档,查找一级标题后打印其文本。7.讲第二种按类名查找:讲清参数名的写法与关键字冲突的处理,现场演示取出带类名的段落文本。8.讲第三种按标识查找:现场演示按标识取出元素。9.讲两个方法的区别并投屏成对照表:一个返回第一个匹配的元素,一个返回所有匹配的元素列表;两者都可以通过标签名、属性等条件进行查找。10.现场演示取所有列表项与取具有特定属性的元素两种写法。11.讲清取不到的情况:返回空值时不能直接取文本,否则会报错。【学生活动】跟着执行安装;记录两种解析器的差别与两种查找方法的区别;跟着完成三种查找并打印结果;说出取不到元素时直接取文本会怎样。【设计意图】对应知识目标3,落实重点查找方法。两种解析器按是否需要安装与容错能力对比,学生选解析器时有标准;三种查找方式各现场演示,抽象的查找条件变成可复现的动作;取不到元素会报错这一点单独交代,为环节七的取空值处理埋下伏笔。环节三BeautifulSoup安装与三种查找(15分钟)讲授+板书对照表(投屏+同步敲)求实态度:取到取不到都要交代【教师活动】1.讲支持:BeautifulSoup还支持使用CSS选择器查找元素,语法与前端开发中使用的选择器一致。2.讲两个方法及区别并投屏成对照表:一个返回所有匹配元素的列表,一个仅返回第一个匹配的元素。3.讲选择器表达式中三个符号的含义:井号前缀表示按标识查找,点号前缀表示按类名查找,空格表示后代层级关系。4.现场演示三条表达式:按标识取标题、按类名取价格、按层级取某个列表下的所有列表项。5.讲取元素信息的三类写法并投屏:取文本内容可以调用文本属性或取文本方法,两者功能相同,返回元素内部的所有文本。6.讲取属性值的两种写法并对比:用取值方法在属性不存在时返回空值;用字典风格的下标写法在属性不存在时会报错。7.现场演示两种写法,先取一个存在的属性,再取一个不存在的属性,学生看到一种返回空值另一种报错。8.讲取所有属性:用一个属性即可得到一个包含所有键值对的字典。9.提问:解析时不确定某个属性有没有,该用哪一种写法?让学生回答并说明理由。10.点明迁移:这几条选择器写法在后续课程里换一个库同样成立,思路是通用的。【学生活动】记录三个符号的含义与两个方法的区别;跟着完成三条表达式的演示;观察两种取属性写法在属性不存在时的差别;回答不确定属性有没有时该用哪一种及理由。【设计意图】对应知识目标4、能力目标3,突破难点写法对照。三个符号与两个方法并列成表,学生写表达式时有对照;两种取属性写法的差别用同一个不存在的属性现场演示,返回空值与报错的对比由结果给出,学生自然理解为什么要用取值方法;迁移一点名,选择器思路从解析库延伸到后续框架,知识不孤立。环节四CSS选择器与元素信息获取(12分钟)讲授+板书对照表对比演示方法迁移:选择器的思路换个库也成立【教师活动】1.讲定位:XPath是一种在XML和HTML文档中定位节点的语言,使用路径表达式来筛选匹配元素。2.讲支持方式:Python通过第三方库实现对XPath语法的解析支持,安装命令现场执行。3.讲第一步转换:使用XPath前需要把HTML文本转换为元素树对象,现场演示转换写法。4.讲四个语法符号并投屏:双斜杠表示从任意位置开始查找;单斜杠表示从当前节点的子节点查找;艾特符号用于选择属性;text加括号用于获取文本内容。5.现场演示两条表达式:取所有标题元素的文本、取带指定类名的行内元素的文本,学生看到返回的是列表。6.讲五条常用表达式并投屏成对照表:选所有某类元素;选带指定类名的某类元素;选某类元素的直接子元素;选某类元素下的所有某类后代元素;选所有链接元素的地址属性。7.逐条讲清单斜杠与双斜杠在这里的差别:一个只走一步,一个可以跨多级。8.把环节四的三条CSS表达式与等价的XPath表达式左右并排投屏,学生对照两种写法。9.提问:取属性时,两种写法各自靠什么取出?引导学生说出一种靠伪类写法、一种靠艾特符号。【学生活动】记录四个语法符号的作用;跟着完成转换与两条表达式;说出单斜杠与双斜杠的差别;对照两种写法并说出取属性各自的写法。【设计意图】对应知识目标5、能力目标3,突破难点两种写法对照。四个符号按查找范围、层级、属性、文本四条线索讲,学生写路径时有依据;五条常用表达式并列成表,其中直接与后代的差别单独强调;与CSS写法的左右对照表是本环节的关键,转换能力在对照中建立,呼应上一环节的迁移点。环节五XPath路径定位(12分钟)讲授+板书对照表(投屏+同步敲)严谨态度:一步与多级不能混着用【教师活动】1.讲背景:现代网页中很多数据是通过脚本异步加载的,这些数据通常以JSON格式传输。2.讲支持方式:Python内置的JSON模块可以方便地解析这类数据。3.现场演示:给出一段含名称、价格、可选颜色的JSON字符串,转成对象后逐项取出。4.讲清类型转换关系:转成对象之后就可以按字典与列表的方式访问。5.讲实际采集中的复杂情况:JSON数据可能嵌入HTML的脚本标签中,需要先用正则提取JSON字符串,再进行解析。6.先演示直接把整段脚本文本交给解析模块,学生看到报错。7.再讲正确两步:先用正则圈出花括号内的那一段,第二步才交给解析模块。8.讲四种方法的选用并投屏成对照表:正则适合提取格式固定的简单文本,如价格、日期;BeautifulSoup适合解析结构规整的HTML文档,接口简单易用,是初学者的首选;XPath适合需要精确定位元素的场景,表达式简洁强大;JSON适合处理接口返回的结构化数据。9.讲组合使用:实际项目中往往需要组合多种方法,例如先用解析库定位到承载数据的脚本标签,再用正则提取其中的JSON字符串,最后用模块解析。10.提问:页面上有一个商品名称在标题标签里、价格却在脚本变量里,该怎么做?让学生说出组合方案。【学生活动】记录JSON解析的写法;观察直接解析整段脚本时的报错;说出提取内嵌JSON的两步;说出四种方法各自的适用场合;回答混合格式页面该怎么组合。【设计意图】对应知识目标6、7,突破难点内嵌JSON。直接解析报错的现场演示让两步做法成为必需而不是可选;四种方法按数据格式与定位精度两条线对比成表,学生选法时有标准;混合格式页面的追问把组合使用落到具体场景,为环节七的任务实施直接铺路。环节六JSON解析与四种方法的选用(11分钟)讲授+板书对照表对比演示组合思维:方法要搭配不迷信一种【教师活动】1.布置任务:按教材第101–107页的任务实施,从电商商品页面中提取多种格式的数据,共四步。2.讲清案例设定:页面中商品标题存放在HTML标签内,价格数据嵌入脚本变量中。3.投屏示例源码,逐处指出目标字段的位置:标题在带类名的标题标签内,品牌与分类各在带类名的行内元素内,特点是一个列表,脚本标签中内嵌着编号、价格与库存。4.讲第一步用解析库配选择器:创建解析对象后,用选择器分别取出商品名称、品牌、分类,再用取全部的方法配合列表推导取出特点列表。5.讲清这里选解析库的理由:这几个字段都在规整的标签结构里。6.讲第二步用路径方式解析同一页面:转换元素树后,用带类名限定的路径取出名称,用路径取出列表项文本。7.讲清这一步的目的:同一意图两种写法都能达成,学生对照着看两种定位方式。8.讲第三步提取内嵌JSON:先用正则从脚本标签里圈出花括号内的片段,再交给解析模块转成字典,取出编号、价格与库存。9.单独强调:正则圈出来的必须是花括号内的那一段,不能是整段脚本。10.讲第四步整合:把三种来源取到的值組装成一个完整的商品信息字典,字段名与类型保持一致。11.讲清整合的要求:名称与特点来自解析库与路径两种方式,价格与库存来自JSON,合在一个字典里交给下一道工序。12.运行程序,逐段核对输出:四个部分各自的打印与最后的完整商品信息。13.教师巡看,重点检查三处:选择器表达式里类名前是否加了点号、内嵌JSON是否只圈取花括号内片段、整合字典的字段名是否前后一致。14.引导学生用三句话小结:①结构规整用解析库,格式固定用正则;②取属性用取值方法,取不到返回空值不报错;③内嵌JSON两步走,先圈区间再解析。15.课程在线教学平台推送当堂检测5题(八个元字符的含义、两种解析器的差别、两组查找方法的区别、XPath四个符号、四种方法的适用场合),限时5分钟,系统自动批改,当场讲评错误率最高的一题。16.布置作业并预告:下一任务讲网站访问日志数据采集,请课前把教材第108–113
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 事业编财会岗 2026 历年真题试卷 含解析
- 2026年冷凝器模拟试卷及参考答案
- 2026 江苏事业编综合管理岗 面试专项练习试卷 含解析
- 2026年金工实习安全模拟试卷带答案
- 2026年汽车驾驶员(高级)模拟试卷及参考答案
- 2026年速冻米面制品制作工三级安全教育(班组级)考核模拟试卷及参考答案
- 小学音乐教资面试高频题试卷附带解析
- 2026年超市收银员模拟试卷带答案
- 2026年基坑监测模拟试卷及答案
- 关于取消部分线下会议的通告5篇
- 医疗质量安全核心制度落实情况监测指标(2025 年版)解读
- 非妇科液基细胞学制片技术
- 用“魔法”打败“魔法”课件-2024-2025学年高二下学期班主任工作经验分享
- 【MOOC】《气排球》(东北大学)中国大学慕课答案
- 《生物科学专业科研创新实验》课程教学大纲
- ZY-T 001.7-1994 中医肛肠科病证诊断疗效标准
- 《锅炉原理全》课件
- 如何应对孩子的学业压力问题
- 材料力学第4版单辉祖习题答案
- GB/T 27618-2011植物有害生物调查监测指南
- GB/T 18666-2002商品煤质量抽查和验收方法
评论
0/150
提交评论