数据采集与预处理技术 教案 项目四 网页数据采集与处理_第1页
数据采集与预处理技术 教案 项目四 网页数据采集与处理_第2页
数据采集与预处理技术 教案 项目四 网页数据采集与处理_第3页
数据采集与预处理技术 教案 项目四 网页数据采集与处理_第4页
数据采集与预处理技术 教案 项目四 网页数据采集与处理_第5页
已阅读5页,还剩75页未读, 继续免费阅读

下载本文档

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

文档简介

授课教案20—20学年第学期_______学院________专业课程名称数据采集与预处理技术任课教师授课形式理论教学☑课内实践□理论+实践□习题复习□考核评价□其他活动□课时安排2学时(90分钟)序号10授课日期月日月日月日月日授课班级2026级相关专业教学班授课地点多媒体教室教学内容:项目四任务一网页文件格式介绍课程思政设计:1.技术伦理与合规意识——网页是别人的服务器上的内容,采集之前先看站点声明的允许范围。课堂讲清技术能力不等于采集许可,先看规则再动手是职业底线。2.求实态度——同样的页面,浏览器里看到的与源码里拿到的可能不一样。课堂讲清看到不等于拿到,判断数据来源要用工具核实而不是想当然。3.耐心细致——字段丢失、格式错乱往往不是程序写错,而是没看清页面由哪几种格式构成。课堂讲清愿意先花时间看清结构,是后面少走弯路的前提。4.规范意识——HTML有标签层级,CSS有选择器命名,JS有变量与函数写法。课堂讲清前端的这些规范既是给别人看的,也是数据采集时定位目标的凭据。教学目标:知识目标:能说出静态网页与动态网页的区别及其判断依据的原理;能说出HTML、CSS、JavaScript三种格式各自的职责与文件扩展名;能说出HTML文档的基本结构与六类常用标签;能说出CSS三种选择器的写法与用途;能说出JavaScript通过文档对象模型操作页面元素的基本机制;能说出PHP、JSP、ASP.NET三种动态网页技术的共同特点;能说出查看网页源代码与使用开发者工具两种判断方法的操作与各自能看到什么。能力目标:能在浏览器里打开网页源代码与开发者工具,判断页面使用的是哪种文档标准;能在Elements面板中定位目标数据所在的HTML元素并读出其层级与属性;能看懂一段使用解析库提取标题、价格、库存的代码,并说出每一步对应页面上的哪一处。素质目标:养成采集之前先看页面构成与站点声明的习惯;养成看到页面与拿到数据不一致时先核实来源的习惯;养成用工具查证而不是凭经验推断的习惯。教学重难点及解决方法:教学重点:HTML、CSS、JavaScript三者的分工与协作关系;HTML文档结构与六类常用标签;三种CSS选择器的写法;开发者工具两个面板各自的用途。教学难点:静态网页与动态网页在数据采集视角下的区别——为什么浏览器看到的与请求拿到的可能不同;CSS选择器与后续数据解析中定位元素的关系。学生容易把页面显示出来的内容直接当成源码里存在的内容,也容易忽视选择器思路在解析中的迁移。解决方法:针对难点:用同一个页面的两幅截图并排投屏——一幅是浏览器渲染后的样子,一幅是查看源代码得到的文本,学生当场比对并找出只出现在其中一幅里的内容,差别由学生自己看出来;选择器的迁移在讲三种选择器时就点明后续解析定位用的正是同一套思路,并在环节七的演示中回扣。针对重点问题:采用边讲边练,每讲完一类标签即在课程在线教学平台推送1~2道判断练习当堂消化;六类标签与三种选择器各做成一张对照表投屏,学生照表认读;讲开发者工具时两个面板各演示一遍,学生跟着在自己电脑上打开;课后按随堂检测结果推送分层强化练习。教学环境及平台:多媒体教室,配备投影与扩音设备;课程在线教学平台。软件与工具:Chrome浏览器(用于查看源代码与开发者工具);演示用Python运行环境(requests、BeautifulSoup),仅用于教师投屏演示,本次课学生不上机。数据与素材:教材示例电商商品页面(含标题、商城价、库存三类目标字段)。教学资源:①教材《数据采集与预处理技术》第89–94页正文与示例代码;②本课程课件(含HTML六类标签对照表、三种选择器对照表、渲染页面与源代码对比图、开发者工具两个面板截图);③课程在线教学平台(预习测验、随堂练习、课后答疑)与课程AI智能体。学习效果评价方式:过程性评价40%+终结性评价60%的综合评价方式,本次课成绩计入平时成绩,对应其中三项:①课堂参与(主要部分):完成渲染页面与源代码的比对记录,并在Elements面板中定位三类目标字段,按定位准确性、层级描述准确性、术语使用准确性三项评分;②随堂测验:下课前5题(静态与动态网页的区别、三种格式的职责、六类标签的辨识、三种选择器的写法、两个面板各自的用途),平台自动批改,当场讲评错误率最高的一题;③课后作业:提交页面构成说明,写清目标字段各在哪种格式中承载。课前预习:平台3道诊断题(网页由哪些格式构成、怎么查看源代码),统计错误率用于调整讲授重点。课后小结:填表说明:1.序号,指该课程授课的顺序号,应与授课计划一致;2.授课形式在相应的选项打“√”。教学内容及过程时间分配方法及手段思政元素【教师活动】1.给出情境:某电商平台的技术团队在采集竞品商品数据时遇到了困难。2.讲他们发现的复杂之处:商品详情页的结构非常复杂——基础商品信息以HTML格式呈现,动态价格数据由JavaScript加载渲染,部分促销规则则采用XML格式描述。3.讲他们遇到的两个具体问题:字段丢失、格式错乱,而且频繁出现。4.提问:问题出在采集程序写错了,还是出在别的地方?让学生先表态再追问理由。5.讲清结论:由于团队对各类文件格式缺乏了解,才在解析时频繁出错。6.点明本任务:进行网页数据采集之前,首先要了解网页由哪些文件格式构成、每种格式有什么特点,才能选择适配的解析方法。7.讲本任务的性质:这是一节认识课,本节课在多媒体教室进行,以识读结构为主,上机实操从下一任务开始。【学生活动】听情境并记录商品详情页上并存的三种格式;对问题出在哪里发表看法并说明理由;说出自己浏览网页时是否注意过页面背后的构成。【设计意图】对应知识目标1。用同一个页面上三种格式并存的真实困境引入,学生看到识读格式不是理论铺垫而是排错的第一步;先让学生猜问题出在哪,后面讲判断方法时正好回应;把本节课的授课形式在开头就讲明,学生的课堂预期在第一时间被明确,不产生落差。环节一情境导入:字段丢失的那一夜(8分钟)情境导入任务驱动法(投屏+讲述)耐心细致:先看清结构再动手采集【教师活动】1.讲分类标准:根据网页内容是否需要服务器动态处理,网页可分为静态网页和动态网页两大类。2.讲静态网页:内容是预先编写好的,客户端浏览器可直接打开网站内容。3.讲动态网页:内容需要服务器端运算处理后实时生成。4.给出教材的比喻:静态网页就像饮水机里的常温水,打开开关即可直接取用;动态网页则如同加热后的热水,需要完成加热处理后方可取用。5.讲清这个比喻要传达的关键:前者拿过来就能用,后者要经过一道处理才能用。6.讲静态网页通常包含的三种基本格式:HTML、CSS、JavaScript,三者分工明确、相互配合。7.提问:如果采集程序只是把页面地址请求一遍就拿到的内容,与浏览器里看到的完全一样,那这个页面更像哪一类?让学生回答。8.讲清答案指向静态网页,并预告下面三种格式依次讲。9.点明三者的定位:网页文件格式是构建网络内容的基础要素。【学生活动】记录静态与动态网页的区别;用自己的话说出常温水与热水这个比喻的含义;回答请求内容与浏览器所见一致时页面更像哪一类。【设计意图】对应知识目标1,落实重点静态与动态之分。比喻先给出再由学生自己复述含义,抽象的服务器端处理变成可感知的取用动作;用一个判断题检查分类标准是否真正建立,答对了才说明两类网页的边界被理解;把三种格式的定位讲在开头,后面三个环节各讲一种时有总纲可依。环节二静态与动态网页的两大类(12分钟)讲授+板书比喻讲解讲练结合求实态度:看到的不等于拿到的【教师活动】1.讲定义与地位:HTML即超文本标记语言,是构成网页的基础,使用标记标签来描述网页的结构和内容。2.讲文件扩展名与解析方式:扩展名为.html或.htm,由浏览器直接解析显示。3.投屏一份基本的HTML文档,逐行讲清结构:文档类型声明为HTML5;html标签是整个网页的根元素,并带有语言属性;head部分包含字符编码、标题、外部资源引用;body部分包含网页的实际内容。4.讲head里的两类引用:用link标签引入样式文件,用script标签引入脚本文件。5.讲body里的四类元素:一级标题、段落文本、超链接与图片,逐一指出超链接靠什么属性指向目标、图片靠什么属性指明文件位置。6.讲六类常用标签并投屏成对照表:结构标签包括根元素、头部、主体、页首、页脚,用于定义整体结构;文本标签包括六级标题、段落、换行,用于组织文本内容;链接与媒体标签包括超链接与图片;列表标签包括无序列表、有序列表、列表项;表格标签包括表格、行、单元格;表单标签包括表单、输入框、按钮,用于收集用户输入。7.逐类举出一个页面上的真实位置,学生把标签与看到过的页面元素对上。8.提问:商品详情页上的价格数字,最可能落在哪一类标签里?让学生先猜,讲清它可能只是某类标签里的一段文本,这正是后面解析要处理的情况。【学生活动】记录HTML文档的基本结构与六类标签;说出超链接与图片各靠哪个属性指明目标;把六类标签与浏览过的页面元素对应起来;对价格数字落在哪类标签发表看法。【设计意图】对应知识目标3,落实重点HTML结构。先讲整份文档的骨架再讲标签分类,学生看到的树形结构而不是一堆零散记号;六类标签并列成表并各配页面上的真实位置,抽象符号落得到处可见;用价格落在哪一类这个问题埋下悬念,环节七的演示正好回应,形成前后呼应。环节三HTML网页的骨架(18分钟)讲授+板书对照表讲练结合规范意识:标签有层级结构要清楚【教师活动】1.讲定义与作用:CSS即层叠样式表,用于描述HTML元素的显示样式,使网页更加美观。2.讲扩展名与引入方式:扩展名为.css,通常通过link标签引入HTML文件中。3.讲核心价值:把内容与样式分离,让同样的HTML内容可以呈现出不同的视觉效果。4.讲组成:由选择器和声明块组成,声明块包含一个或多个属性值对。5.投屏三段样式代码,逐段讲清写法:一段作用在一级标题上,设置颜色与字号;一段作用在类名为container的元素上,设置宽度与外边距;一段作用在标识为header的元素上,设置背景色。6.讲三种选择器并投屏成对照表:元素选择器通过标签名称选择;类选择器通过class属性选择,前面加一个点;ID选择器通过id属性选择,前面加一个井号。7.讲清这三者的差别不仅是写法,更是定位精度——标签选中的是一批,标识选中的通常是一个。8.点明迁移:这些选择器的概念对于后续的数据解析任务非常重要,因为提取网页数据时也需要用类似的方式定位目标元素。9.提问:要取出页面上唯一一个商品标题,用哪一种选择器更稳?让学生回答并说明理由。【学生活动】记录CSS的组成与三种选择器的写法;说出三种选择器各自选中的范围;回答取唯一标题该用哪一种及理由;说出内容与样式分离的好处。【设计意图】对应知识目标4,突破难点选择器的迁移。三种选择器按定位精度这条线讲,学生理解的是选择粒度而不是三个符号;迁移这一点在讲选择器时就点明,并用一个追问当场检验,为环节四任务三的解析埋下伏笔;内容与样式分离的价值单独讲,学生知道样式表不只是让页面好看。环节四CSS样式与选择器(12分钟)讲授+板书对照表讲练结合方法迁移:定位的思路解析时还要用【教师活动】1.讲定义与地位:JavaScript是一种编程语言,用于实现网页的交互功能和动态效果。2.讲扩展名与引入方式:扩展名为.js,通过script标签引入HTML文件中。3.讲它与前两者的差别:与HTML和CSS不同,JavaScript可以响应用户操作、修改页面内容、与服务器通信。4.投屏一段脚本,逐段讲清四类写法:用let与const声明变量;用function定义函数;按标识取到页面元素后改写其内容与颜色;为元素添加事件监听,在点击时弹出提示。5.讲文档对象模型:JavaScript可以通过它操作HTML元素,这是实现网页动态效果的核心机制。6.讲它对采集的影响:现代网页中很多数据是通过JavaScript动态加载的,这给数据采集带来了挑战,需要使用专门的工具来处理。7.讲三者的协作关系并板书:HTML负责网页的结构和内容,相当于房屋的框架;CSS负责网页的样式和美化,相当于房屋的装修;JavaScript负责网页的交互和动态效果,相当于房屋的智能化系统。8.讲清实际网页中三者通常结合使用,共同构建出功能丰富、美观实用的网页。9.提问:一栋房子框架、装修、智能系统都齐了,采集数据要找的是哪一部分?引导学生说出数据主要在框架里,但有些内容要等智能系统启动后才出现。【学生活动】记录脚本的四类写法;说出JavaScript与前两者的差别;说出文档对象模型的作用;回答采集数据要找哪一部分及理由。【设计意图】对应知识目标5,落实重点三者协作。四类写法按声明变量、定义函数、操作元素、响应事件的顺序讲,学生看到脚本能做什么而不是只记住它是一种语言;三者协作用房屋的框架、装修、智能系统作比,职责边界一眼可辨;最后这个追问把三者协作直接落到采集视角上,呼应环节一里的动态价格困境。环节五JavaScript与三者的协作(12分钟)讲授+板书比喻讲解讲练结合技术边界:动态数据要专用工具【教师活动】1.讲动态网页的工作方式:根据用户请求和服务器状态动态生成内容,通常涉及服务器端编程语言和数据库交互。2.讲第一种技术PHP:一种开源的服务器端脚本语言,特别适合网页开发,扩展名为.php,可以嵌入HTML中执行;语法简单易学,是初学者接触动态网页开发的常用选择。3.投屏一段PHP页面,讲清代码被起始与结束标签包围,服务器执行这部分代码后,将结果与HTML合并,生成最终的网页内容发送给浏览器。4.单独强调:用户在浏览器中看到的只是处理后的HTML,看不到PHP源代码。5.讲第二种技术JSP:基于Java平台,适合大型企业级应用,具有良好的跨平台性和安全性。6.讲第三种技术ASP.NET:微软推出的技术,基于.NET框架,支持多种编程语言,提供丰富的控件和工具。7.讲清三者的共同特点:代码在服务器端执行,服务器根据数据库内容或用户请求动态生成HTML页面。8.讲清对采集的意义:无论网站使用哪种动态网页技术,最终发送到浏览器的都是HTML内容,因此掌握HTML结构的解析方法是数据采集的基础。9.讲第一种判断方法查看网页源代码:在浏览器中右击网页,在快捷菜单中单击查看网页源代码;如果在源码开头看到文档类型声明,说明网页使用HTML5标准;通过查看源码还可以了解网页引用了哪些样式与脚本文件,以及页面结构是如何组织的。10.现场演示打开一个页面的源代码,学生跟着在自己的电脑上打开。11.讲第二种判断方法开发者工具:按F12键或右击后单击检查即可打开;在其中元素面板可以查看网页的文档结构,了解各个元素的层级关系和属性值,定位目标数据所在的HTML元素;在网络面板可以监控网页加载过程中的所有网络请求,发现通过脚本异步加载的数据接口,找到数据的真实来源。12.现场演示两个面板,讲清熟练使用开发者工具能够大大提高数据采集的效率。【学生活动】记录三种动态网页技术的共同特点;说出为什么浏览器里看不到PHP源代码;跟着打开源代码并确认文档类型声明;跟着打开两个面板并说出各自能看到什么。【设计意图】对应知识目标6、7,突破难点采集视角下的静态与动态。三种技术只讲共同特点与各自定位,学生知道不必逐个深究;浏览器里看不到源代码这一条单独强调,学生明白采集拿到的是处理结果;两个判断方法都现场演示并让学生同步打开,工具用法在练中掌握而不是靠口述。环节六动态网页技术与判断方法(15分钟)讲授+板书直观演示法(投屏+同步操作)合规意识:先看清声明再决定范围【教师活动】1.说明本环节为教师投屏演示、学生同步记录,本次课不上机实操,上机从下一任务开始。2.给出案例:假设某电商商品页面使用HTML结构数据,需要提取其中的标题、价格与库存。3.投屏演示第一段:用请求库带上请求头发起请求,用解析库把返回的文本解析成可查询的对象,讲清请求头里标识客户端类型这一字段的作用。4.投屏演示第二段提取标题:查找一级标题元素,取到元素后取其内部文本并去掉首尾空白,取不到时给出未找到的提示。5.讲清这一步与环节三的六类标签直接对应。6.投屏演示第三段提取价格:先给出未找到的默认值,遍历页面上的文本节点找到含商城价字样的那一个,然后向上逐层找它的容器,最多找三层,取到容器文本后用正则匹配数字与货币符号。7.讲清为什么价格要这样绕:它不像标题那样有独立的标签,只是某段文本里的几个字符。8.投屏演示第四段提取库存:用正则找到含库存字样的文本节点,取其父元素文本后正则匹配数字。9.讲清整体思路:先获取完整的网页内容,然后根据数据所在的位置和格式,选择合适的解析方法;结构清晰的字段直接提取,嵌在文本里的字段先定位关键词所在标签再用正则匹配。10.点明本任务的意义:正确识别目标数据的存储形式是数据采集的第一步。11.引导学生用三句话小结:①网页分静态与动态,最终发给浏览器的都是HTML;②结构字段直接提取,文本里的字段先定位关键词再匹配;③看清构成是采集的第一步。12.板书知识框架:HTML→CSS→JavaScript→动态技术→判断方法→解析演示,学生拍照记录。13.课程在线教学平台推送当堂检测5题(静态与动态网页的区别、三种格式的职责、六类标签的辨识、三种选择器的写法、两个面板各自的用途),限时5分钟,系统自动批改,当场讲评错误率最高的一题。14.布置作业并预告:下一任务讲网页数据抓取,请课前把教材第95–100页的请求方法部分先看一遍。【学生活动】记录四段演示各自的做法与对应页面上的哪一处;说出价格为什么不能像标题那样直接取;口述三句话小结;独立完成检测;记录作业要求与下一任务的预习范围。【设计意图】对应能力目标3,覆盖知识目标1~7,属形成性评价。演示定位为教师投屏而非学生实操,与本次课的理论教学定位一致;四段演示逐一回扣前面的标签分类与选择器思路,知识在演示中被重新调用而不是另起一套;三句话小结与环节二、环节六的核心动作一一对应,讲与练形成闭环;预告下一任务时点明请求方法,与本节的页面构成衔接。环节七综合演示小结与检测(13分钟)演示—模仿归纳小结在线检测循序渐进:先看懂再上手课外学习任务及学习指导课前:1.预习教材项目四任务一(第89–94页),标注不理解的概念。2.在自己常用的浏览器里试着打开一个网页的源代码,为课堂演示做准备。3.完成课程在线教学平台3道课前诊断题(网页由哪些格式构成、怎么查看源代码),统计错误率用于调整讲授重点。课后:一、基础巩固(必做,下次课前提交)1.完成教材第89–94页本节练习。2.提交一份页面构成说明:任选一个商品详情页,写清基础信息、动态价格、促销规则各由哪种格式承载,并说明你是通过什么方法判断出来的。二、拓展提升(选做,A/B二选一)A.用开发者工具的元素面板,在示例页面上分别定位标题、价格、库存三类字段,写出它们各自的标签与层级路径。B.找出一个页面里通过脚本异步加载的数据接口,说明你是在哪个面板、通过哪一步发现它的。三、思政拓展(选做)结合本次课讲的采集之前先看站点声明,写100字感想,谈谈为什么技术能力不等于采集许可。填表说明:1.本页可续页;2.教学方法如:项目教学、案例分析、分组讨论、角色扮演、启发引导等;3.教学手段如:课件演示、模型讲解、实物讲解、挂图讲解、视频讲解、网络课程等。授课教案20—20学年第学期_______学院________专业课程名称数据采集与预处理技术任课教师授课形式理论教学□课内实践□理论+实践☑习题复习□考核评价□其他活动□课时安排2学时(90分钟)序号11授课日期月日月日月日月日授课班级2026级相关专业教学班授课地点实训机房(多媒体)教学内容:项目四任务二网页数据抓取课程思政设计:1.网络法治意识——网络不是法外之地,采集之前先确认目标站点的爬虫协议与访问频率要求。课堂讲清技术能力不等于采集许可,先看规则再动手是职业底线。2.边界意识与隐私保护——手机号、身份证号这一类个人敏感信息严禁抓取。课堂讲清公开可见不等于可以使用,采集范围要严格限定在任务所需的字段上。3.尊重他人权益——目标网站的服务器资源属于他人。课堂讲清控制请求频率不是怕被封,而是不给对方添麻烦,高并发高频访问会造成真实的运行压力。4.职业操守——采集到的公开数据不得用于商业牟利与违规传播。课堂讲清这一条是数据采集从业者应恪守的基本职业准则,失守一次就足以毁掉职业信誉。教学目标:知识目标:能说出HTTP协议基于请求与响应模型工作的基本原理;能说出GET与POST两种请求方法各自的用途与参数携带方式;能说出六个常见状态码各自的含义;能说出User-Agent、Referer、Cookie、Accept四个请求头字段的作用;能说出五种常见反爬虫机制及其对应的应对策略;能说出采集动态加载数据的两种主流方案的优劣;能说出网页数据抓取必须遵守的四条法律与道德规范。能力目标:能用requests库发送GET请求并读出状态码与响应内容;能通过参数字典传递查询参数、通过请求头字典设置客户端标识;能为采集程序加上随机延迟与异常处理;能完成一个多页列表页的分页抓取并把结果保存为CSV文件。素质目标:养成抓取之前先确认目标站点声明的习惯;养成控制请求频率、不给对方服务器添麻烦的习惯;养成采集范围只取任务所需字段、不碰个人敏感信息的习惯。教学重难点及解决方法:教学重点:GET与POST的区别及参数携带方式;状态码的判读与请求头的设置;五种反爬虫机制与对应的应对策略;分页抓取的循环写法。教学难点:从状态码判断采集失败的原因并区分是自身请求问题还是触发了反爬;分页抓取中循环、解析、延迟与异常处理四件事的组织。学生看到请求失败往往只会重试,不会先看状态码;写分页循环时也常把解析与保存混在一起。解决方法:针对难点:把六个状态码列成一张判读表,逐个说明它指向什么问题,并现场把请求头去掉后重新请求一次,学生看到状态码变化,原因由结果给出;分页抓取先画出一次循环里要做的四件事的顺序图,学生照顺序写,解析与保存分处两步而不是挤在一处。针对重点问题:采用边讲边练,每讲完一组请求设置即在机房同步敲一遍,教师巡看每行输出;六种状态码与五种反爬机制各做成一张对照表投屏,学生照表判读;讲分页时先让学生说出翻页时地址栏里哪个部分在变,再讲循环怎么写;课后按随堂检测结果推送分层强化练习。教学环境及平台:实训机房(多媒体),人手一机,配备投影与广播教学系统;课程在线教学平台。软件与工具:Python3运行环境、requests、BeautifulSoup;Chrome浏览器(用于查看网络请求);文本编辑器。数据与素材:教材示例电影榜单页面(每页二十五条,共十页,分页由地址中的起始位置参数控制)。课堂练习严格限定在教材示例范围,控制请求频率,不采集任何个人信息。教学资源:①教材《数据采集与预处理技术》第95–100页正文与示例代码;②本课程课件(含状态码判读表、请求头字段对照表、五种反爬机制与应对策略对照表、分页循环顺序图);③课程在线教学平台(预习测验、随堂练习、课后答疑)与课程AI智能体。学习效果评价方式:过程性评价40%+终结性评价60%的综合评价方式,本次课成绩计入平时成绩,对应其中三项:①课堂实操(主要部分):完成分页抓取程序的编写与运行并导出CSV,按请求设置正确性、异常处理完整性、结果文件可用性三项评分;②随堂测验:下课前5题(两种请求方法的区别、六个状态码的含义、四个请求头字段的作用、五种反爬机制、四条法律与道德规范),平台自动批改,当场讲评错误率最高的一题;③课后作业:提交抓取程序的源码、运行结果截图与导出的CSV文件。课前预习:平台3道诊断题(请求有哪几种方法、状态码怎么看),统计错误率用于调整讲授重点。课后小结:填表说明:1.序号,指该课程授课的顺序号,应与授课计划一致;2.授课形式在相应的选项打“√”。教学内容及过程时间分配方法及手段思政元素【教师活动】1.给出情境:某电商平台希望采集竞品的商品价格和促销信息,以此制定更有竞争力的定价策略。2.讲技术团队遇到的第一个问题:使用简单的请求方式只能获取部分数据,有些价格信息显示为空白。3.讲他们遇到的第二个问题:频繁发起访问后,来源地址被目标网站封禁,无法继续采集。4.提问:为什么在浏览器里明明能看到的价格,程序抓回来却是空白?让学生先猜。5.讲清结论:网页数据抓取并非仅发送请求即可实现,还需要了解HTTP协议的工作原理,掌握处理各种反爬虫机制的方法。6.点明本任务的内容:系统介绍网页数据抓取的相关技术,包括协议基础、请求库用法、反爬应对与合规要求。7.讲清合规底线:本任务所有课堂练习都在教材示例范围内进行,控制请求频率,不涉及任何个人信息。【学生活动】听情境并记录技术团队遇到的两个问题;对浏览器能看到而程序抓不到发表看法;说出自己听说过的爬虫相关事件。【设计意图】对应知识目标1。用两个真实卡点引入,学生带着问题进入而不是先学协议再找用途;先让学生猜价格为什么是空白,后面讲动态加载时正好回应这个猜想;把合规底线讲在开头而不是放在末尾当补充,学生在整个实操过程中都有这条约束。环节一情境导入:抓回来的价格是空的(8分钟)情境导入任务驱动法(投屏+讲述)网络法治:技术能力不等于许可【教师活动】1.讲定义与地位:HTTP即超文本传输协议,是浏览器与服务器之间通信的标准协议。2.讲工作模型:基于请求与响应模型工作——客户端发送请求,服务器返回响应。讲清理解它是进行网页数据抓取的基础。3.讲第一种请求方法GET:用于请求获取资源,参数附加在网址后面,适合获取网页内容。4.讲第二种请求方法POST:用于向服务器提交数据,参数存放于请求体中,适用于登录、表单提交等场景。5.讲清采集中最常用的是GET:在浏览器地址栏中输入网址并按回车键时,浏览器就会发起一条GET请求。6.讲状态码:服务器返回的响应报文包含状态码,表示请求的处理结果。7.并列六个常见状态码投屏成判读表:200表示请求成功;301与302表示重定向;400表示请求错误;403表示禁止访问;404表示资源未找到;500表示服务器内部错误。8.讲清判读要点:编写采集程序时要根据状态码判断请求是否成功;如果返回403或503,通常说明触发了网站的反爬虫机制。9.现场演示:先正常请求一次读出状态码,再把请求头去掉重新请求一次,学生看到状态码发生变化。10.讲四个请求头字段并投屏成对照表:User-Agent标识发送请求的客户端类型,不设置或使用明显的爬虫标识很容易被识别并拦截;Referer表示请求的来源页面;Cookie用于保持会话状态;Accept表示客户端可接受的内容类型。【学生活动】记录两种请求方法的区别与六个状态码的含义;观察去掉请求头前后状态码的变化并说出说明什么;说出四个请求头字段各自的作用。【设计意图】对应知识目标2、3、4,突破难点状态码判读。六个状态码列成判读表并点明403与503的特殊含义,学生看到失败时先读码再动手;去掉请求头前后状态码的现场对比,把请求头的作用由结果给出而不是口头交代;四个字段各配用途说明,学生设置请求头时知道每一项是为了解决什么问题。环节二HTTP协议请求、状态码与请求头(15分钟)讲授+板书对照表对比演示先看后动:失败先读码不盲目重试【教师活动】1.点明Python提供了多个用于发送HTTP请求的库,其中requests库因其简洁易用的接口而最受欢迎。2.讲安装:通过pip安装,在命令行窗口输入安装命令即可,安装完成后即可在程序中导入使用。机房同步执行安装。3.讲基本用法:用get方法发送GET请求,其基本格式包含目标网址、请求头字典与查询参数字典三个部分,其中目标网址为必填参数。4.讲返回值:该方法返回一个响应对象,包含服务器返回的状态码、响应内容等信息。5.投屏演示第一段:发送请求后打印状态码,再打印响应内容。6.讲两种响应内容的差别:文本格式用于网页;二进制格式适用于图片、文件等二进制资源。7.现场演示打印两种响应内容,学生看到网页文本与字节流的样子。8.讲清本节课用到的解析库:从网页文本里提取信息还需要配合解析库,下一任务会详细讲它的用法。9.提问:要下载一张商品图片,该读响应的哪一个属性?让学生回答并说明理由。【学生活动】跟着执行安装命令;记录get方法的三个参数与返回值;观察两种响应内容的打印结果;回答下载图片该读哪个属性及理由。【设计意图】对应知识目标2、能力目标1,落实重点请求库用法。先讲三个参数各自的角色再讲返回值,学生写调用时不会漏参数;两种响应内容现场对比打印,学生知道什么情况下该读哪一个;把解析库的用法推到下一任务,本环节聚焦在请求本身,不一次塞太多。环节三requests库的安装与基本使用(12分钟)讲授+板书直观演示法(投屏+同步敲)规范操作:环境先备齐再往下走【教师活动】1.讲GET请求的参数传递:通过参数字典传递,requests会自动将其编码并附加到网址后面。2.现场演示:传入关键词与页码两个参数后打印完整请求网址,学生看到参数是如何拼上去的。3.讲POST请求的参数传递:表单参数通过另一个参数名传递,给出登录场景的示例。4.讲为什么必须设置请求头:为了模拟真实浏览器的访问,需要设置合适的请求头。5.讲写法:请求头是一个字典,其中每个键值对代表一个头部字段,键为字段名称,值为对应的字段内容,设置时把该字典传给get方法即可。6.投屏演示一个包含三个字段的请求头:标识客户端浏览器类型的User-Agent、声明可接受内容类型的Accept、指定偏好自然语言的Accept-Language。7.单独强调User-Agent的重要性:建议使用真实浏览器的标识字符串,并且可以准备多个不同的标识轮换使用,以降低被服务器拦截的概率。8.现场演示轮换的做法:准备一个标识列表,每次请求随机取一个。9.提问:参数字典与请求头字典分别解决什么问题?让学生说出前者管查询条件、后者管访问身份。【学生活动】跟着传入参数并观察完整请求网址;记录三个常用请求头字段;说出轮换标识的作用;回答两个字典各自解决什么问题。【设计意图】对应能力目标2,落实重点参数与请求头。打印完整请求网址这一动作让URL编码这件事变得可见,学生不再把它当成黑箱;轮换标识现场演示,把抽象的概率降低变成可执行的一行代码;两个字典的分工用一个追问当场检验,学生写程序时不会把查询条件塞进请求头。环节四请求参数与请求头的设置(12分钟)讲授+板书直观演示法(投屏+同步敲)身份意识:请求要有可辨识的来源【教师活动】1.讲背景:为了保护数据和服务器资源,许多网站会采用反爬虫机制;了解这些机制并合理应对,是数据采集的必备技能。2.讲五种常见机制并投屏成对照表:User-Agent检测是最基础的手段,网站会检查请求是否来自合法浏览器;IP封禁针对频繁请求的来源地址进行限制或封禁;验证码要求用户完成图形、滑动或点选验证才能继续访问;JavaScript渲染把数据通过脚本动态加载,普通静态请求无法直接获取;请求频率限制对单位时间内的请求数量设阈值。3.讲第一条应对策略设置合理的请求头:使用真实浏览器的标识,并根据目标网站的要求设置其他必要的头部字段,现场给出含来源页面的示例。4.讲第二条应对策略控制请求频率:在请求之间添加随机延迟,避免访问过于频繁。现场演示用休眠函数配合随机函数实现一到三秒的随机延迟。5.讲清这条不只是避封,更是尊重对方的服务器资源。6.讲第三条应对策略使用代理:通过代理服务器发送请求,隐藏真实来源地址,现场给出代理字典的写法。7.讲清代理的使用同样要在合规范围内,不能用来规避站点的正当限制。8.讲动态加载数据的两种方案:第一种使用浏览器自动化工具,模拟真实浏览器执行脚本,完整加载页面动态数据,现场演示启动浏览器、打开页面、等待加载、取回页面内容、关闭浏览器五步;第二种分析页面的网络请求,找到数据的真实接口直接请求,讲清这种方法效率更高,但需要一定的抓包分析能力。9.现场演示在开发者工具的网络面板中观察异步请求,找到返回结构化数据的接口。10.并列两种方案的优劣投屏:前者通用但慢,后者快但要会分析。【学生活动】记录五种反爬机制与三条应对策略;跟着写出随机延迟的一行;说出两种动态采集方案各自的优劣;跟着在网络面板中找到一个异步请求接口。【设计意图】对应知识目标5、6,落实重点反爬应对。五种机制与三条策略并列成表,学生遇到问题时能照表定位;随机延迟的动机讲成尊重对方资源而不只是避封,呼应思政中的边界意识;两种动态方案按通用性与效率对比,学生选型时有标准;代理的合规边界一并交代,避免技术被误用。环节五反爬虫机制与应对策略(14分钟)讲授+板书对照表直观演示法尊重权益:控制频率不给对方添压【教师活动】1.点明前提:进行网页数据抓取时,必须遵守法律法规和道德规范。2.讲第一条遵守爬虫协议:该文件遵循爬虫协议标准,明确规定了站点内资源允许爬虫访问、禁止爬虫访问的范围;抓取之前要先查看它。3.现场演示在目标站点域名后加上协议文件名查看其内容。4.讲第二条合理控制请求频率:避免高并发、高频访问行为,防止对目标网站服务器造成过大运行压力。5.讲第三条严禁抓取个人敏感隐私信息:手机号、身份证号等一律不碰。讲清公开可见不等于可以使用。6.讲第四条禁止非法使用:不得将采集的公开数据用于商业牟利、违规传播等一切非法用途。7.讲清总纲:在合法合规、尊重站点权益的前提下开展数据采集工作,是每一位数据采集从业者应恪守的基本职业准则。8.组织一次简短讨论:如果客户要求采集一批含手机号的用户数据,该怎么做?让学生表态并说明理由。9.讲评并给出明确口径:拒绝,并说明法律依据与可替代的合规做法。【学生活动】记录四条规范;跟着查看一次爬虫协议文件;参与讨论并说出客户要求采集手机号时该怎么办及理由。【设计意图】对应知识目标7。四条规范逐条讲清边界而不是笼统说要合规;爬虫协议现场查看,学生知道这个文件真实存在且就在域名后面;公开可见不等于可以使用这一条是本环节的核心判断,配合客户要求采集手机号的讨论当场检验,职业操守在表态中被明确,直接呼应思政中的隐私保护与职业操守。环节六法律与道德规范(8分钟)讲授+板书案例讨论价值澄清职业操守:敏感信息一律不碰【教师活动】1.布置任务:按教材第95–100页的任务实施,完成一个榜单页面的分页抓取。2.先画一次循环里要做的四件事的顺序图投屏:改参数拼网址→发请求并读状态码→解析并取字段→随机延迟。3.讲页面结构:每页显示二十五条,共十页;分页通过网址中的起始位置参数控制,起始为零表示第一页,起始为二十五表示第二页;每条信息包含在类名为item的区块元素中。4.讲清为什么这样设计循环:页码与起始位置之间是乘以每页条数的关系。5.讲第一步请求头:设置浏览器标识字段以模拟真实访问。6.讲第二步循环:遍历十次,每次算出起始位置并拼出网址,用try把发请求包起来,检查状态码为两百才继续解析,否则打印失败与状态码;出异常时打印错误信息。7.讲第三步解析:用解析库把响应文本解析成可查询对象,用选择器取出所有类名为item的区块,再逐个取出标题、评分与一句话简介;简介可能不存在,取不到时填无简介。8.讲清空值处理这一处:不是每条数据都有简介,取之前要先判有没有。9.讲第四步延迟与保存:每次请求后加随机延迟;循环结束后把结果写入文件,注意打开文件时加上换行参数与带签名的编码,用字典写入器写表头与数据行。10.现场演示只抓一页先跑通,再放开十页,讲清先小后大的调试顺序。11.运行程序,逐行核对输出:每一页的成功提示与条数,最后的保存提示与总条数。12.教师巡看,重点检查三处:请求头是否已设置、随机延迟是否加在每次请求之后、打开文件时的换行与编码参数是否正确。13.引导学生用三句话小结:①失败先读状态码;②请求头要真、频率要低;③先跑通一页再放开十页。14.课程在线教学平台推送当堂检测5题(两种请求方法的区别、六个状态码的含义、四个请求头字段的作用、五种反爬机制、四条法律与道德规范),限时5分钟,系统自动批改,当场讲评错误率最高的一题。15.布置作业并预告:下一任务讲网页数据解析,请课前把教材第101–107页的选择器部分先看一遍。【学生活动】按四件事的顺序独立完成分页抓取;先跑通一页再放开十页;逐行核对输出,不符则回看上一步;打开导出的文件确认中文正常;口述三句话小结;独立完成检测。【设计意图】对应能力目标3、4,属形成性评价。顺序图先画出来,学生写循环时四件事的先后清楚,不会把解析与保存挤在一处;先跑通一页再放开十页这一调试顺序单独交代,减少一次跑十页带来的排错困难;巡看三处对应本节的three个重点,检查落在具体动作上;三句话小结与环节二、环节五、环节六的核心动作一一对应,讲与练形成闭环。环节七上机实操分页抓取与小结检测(21分钟)演示—实操—巡视归纳小结(机房实操)合规操作:严守范围不碰敏感信息课外学习任务及学习指导课前:1.预习教材项目四任务二(第95–100页),标注不理解的概念。2.复习上一任务的网页文件格式,确认自己能说出HTML、CSS、JavaScript各自的职责。3.完成课程在线教学平台3道课前诊断题(请求有哪几种方法、状态码怎么看),统计错误率用于调整讲授重点。课后:一、基础巩固(必做,下次课前提交)1.完成教材第95–100页本节练习。2.提交抓取程序的源码、运行结果截图与导出的文件,并说明每一页各抓到多少条、总计多少条。二、拓展提升(选做,A/B二选一)A.给程序加上标识轮换功能,准备三个不同的浏览器标识,每次请求随机取一个,并说明这样做的作用与边界。B.用开发者工具的网络面板找出示例页面的一个异步数据接口,直接请求该接口完成采集,比较两种方式在耗时上的差别。三、思政拓展(选做)结合本次课讲的四条规范,写100字感想,谈谈为什么采集范围要严格限定在任务所需的字段上。填表说明:1.本页可续页;2.教学方法如:项目教学、案例分析、分组讨论、角色扮演、启发引导等;3.教学手段如:课件演示、模型讲解、实物讲解、挂图讲解、视频讲解、网络课程等。授课教案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~5,属形成性评价。四步与上一环节的组合方案完全对应,讲完方法立刻用上;第二步用路径重新解析同一页面,学生在同一份数据上对照两种定位方式,转换能力当场被检验;巡看三处对应本节的three个重点,检查落在具体动作上;三句话小结与环节二、环节四、环节六的核心动作一一对应,讲与练形成闭环。环节七上机实操多格式数据提取与小结检测(20分钟)演示—实操—巡视归纳小结(机房实操)结构统一:字段要对齐才好往下交课外学习任务及学习指导课前:1.预习教材项目四任务三(第101–107页),标注不理解的概念。2.复习上一任务的请求头设置与状态码判读,确认自己能独立完成一次带请求头的请求。3.完成课程在线教学平台3道课前诊断题(解析有哪几种方法、正则用来做什么),统计错误率用于调整讲授重点。课后:一、基础巩固(必做,下次课前提交)1.完成教材第101–107页本节练习。2.提交提取程序的源码与运行结果截图,并逐个说明商品名称、品牌、分类、特点、编号、价格、库存各用的是哪一种方法。二、拓展提升(选做,A/B二选一)A.把四条CSS表达式改写成等价的路径表达式,并说明取文本与取属性在两种写法里分别靠什么。B.在示例页面里新增一个可能缺失的字段,用取值方法取出并在取不到时给出未找到的标记,说明你为什么不用下标写法。三、思政拓展(选做)结合本次课讲的四种方法各有适用场合,写100字感想,谈谈为什么选法本身也是专业判断的一部分。填表说明:1.本页可续页;2.教学方法如:项目教学、案例分析、分组讨论、角色扮演、启发引导等;3.教学手段如:课件演示、模型讲解、实物讲解、挂图讲解、视频讲解、网络课程等。授课教案20—20学年第学期_______学院________专业课程名称数据采集与预处理技术任课教师授课形式理论教学□课内实践□理论+实践☑习题复习□考核评价□其他活动□课时安排2学时(90分钟)序号13授课日期月日月日月日月日授课班级2026级相关专业教学班授课地点实训机房(多媒体)教学内容:项目四任务四网站访问日志数据采集课程思政设计:1.数据安全与合规意识——日志里记录着来源地址、访问时间与访问路径,属于可识别到人的信息。课堂讲清日志的采集、存储与使用要在授权范围内进行,课堂练习一律使用教材模拟数据。2.求实态度——解析总有失败的条目,失败多少条要如实统计。课堂讲清跳过不算处理完,统计不出来等于没采集清楚。3.工程规范——解析字段的类型要统一,状态码与字节数要转成数值。课堂讲清存进去的数据要能直接算,字符串状态没法做统计。4.责任担当——异常请求是网站出问题的信号,筛出来就要报。课堂讲清发现异常不藏着,是对网站和用户负责。教学目标:知识目标:能说出网站访问日志的定义与它在网站分析中的作用;能说出Nginx默认访问日志九个字段各自的含义;能说出Apache通用组合日志与Nginx标准日志在结构上的关系;能说出JSON格式日志的优点与缺点;能说出日志解析结果存储到文件与数据库两条路径各自的做法与适用场合。能力目标:能读懂一条Nginx访问日志并逐字段说出它的含义;能写出对应的正则表达式并把九个字段取出为字典,其中状态码与字节数转为数值;能用内置函数打开文件逐行读取并批量解析,统计成功与失败的条数;能把解析结果保存为表格文件;能把解析结果存入轻量数据库;能完成状态码分布、热门页面、独立访客数、总流量与异常请求五项统计分析。素质目标:养成涉及访问记录的练习一律使用模拟数据的习惯;养成解析失败条目如实统计的习惯;养成入库前把数值字段转成数值类型的习惯。教学重难点及解决方法:教学重点:Nginx日志九个字段的含义与正则分组的对应关系;逐行读取并统计成功失败条数的写法;五项统计分析的实现。教学难点:把一整行日志拆成九个捕获组的正则写法,尤其是方括号与引号这类特殊符号的处理;独立访客数与总流量两项指标背后的去重与求和思路。学生常在正则里漏掉字面量符号导致整条匹配不上,也常把独立访客数算成总条数。解决方法:针对难点:正则不一次写完,按字段从左到右一段一段加,每加一段就跑一条样例看是否匹配上,学生看到中间某一处写错会在哪一步暴露;独立访客数先演示直接数总条数会重复计数,再引出用集合去重后取长度的做法,差别由两个数字给出。针对重点问题:采用边讲边练,每讲完一组字段即在机房同步敲一遍并当场打印结果,教师巡看每行输出;九个字段做成一张字段与正则片段的对照表投屏,学生照表拼装;讲存储时把文件与数据库两条路径并列成对照表,学生按数据规模选;课后按随堂检测结果推送分层强化练习。教学环境及平台:实训机房(多媒体),人手一机,配备投影与广播教学系统;课程在线教学平台。软件与工具:Python3运行环境(内置正则、csv、sqlite3、collections模块);文本编辑器。数据与素材:教材示例访问日志(六条,含成功、重定向与资源未找到三类状态)。课堂练习一律使用教材模拟数据,不采集任何真实服务器的访问记录。教学资源:①教材《数据采集与预处理技术》第108–113页正文与示例代码;②本课程课件(含九个字段与正则片段对照表、两种存储路径对照表、五项统计指标说明表);③课程在线教学平台(预习测验、随堂练习、课后答疑)与课程AI智能体。学习效果评价方式:过程性评价40%+终结性评价60%的综合评价方式,本次课成绩计入平时成绩,对应其中三项:①课堂实操(主要部分):完成日志解析、存储与五项统计分析,按解析成功率、存储文件可用性、五项指标正确性三项评分;②随堂测验:下课前5题(九个字段的含义、正则中捕获组的作用、两条存储路径的适用场合、独立访客数怎么算、异常请求的判定条件),平台自动批改,当场讲评错误率最高的一题;③课后作业:提交解析程序的源码、运行结果截图与导出的存储文件。课前预习:平台3道诊断题(日志记录了什么、日志有什么用),统计错误率用于调整讲授重点。课后小结:填表说明:1.序号,指该课程授课的顺序号,应与授课计划一致;2.授课形式在相应的选项打“√”。教学内容及过程时间分配方法及手段思政元素【教师活动】1.给出情境:某电商平台希望通过分析用户的访问行为来优化网站使用体验。2.讲日志的来源:网站服务器每天都会产生大量的访问日志,记录了来源地址、访问时间、请求页面、浏览器类型等信息。3.讲技术团队要做的事:采集这些日志数据,进行清洗和分析,以此挖掘用户的访问规律和偏好。4.讲摆在面前的两个难题:日志数据量巨大、格式复杂。5.提问:日志文件天天在长,靠人一条条看能不能行?让学生先说。6.讲清结论:如何高效地采集和解析这些数据成为关键问题。7.点明本任务的内容:网站访问日志的格式特点和采集方法。8.讲清合规前提:课堂练习一律使用教材模拟数据,不涉及任何真实服务器的访问记录。【学生活动】记录日志里包含的四类信息;回答靠人逐条看能不能行;说出自己见过的网站统计指标有哪些。【设计意图】对应知识目标1。用优化体验这一业务目标引入,日志的价值由用途反衬;两个难题先摆出来,后面讲批量读取与正则解析都在回应它们;合规前提讲在开头,与上一任务的四条规范一脉相承,学生在整节课里都有这条约束。环节一情境导入:服务器每天都在写日记(8分钟)情境导入

温馨提示

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

评论

0/150

提交评论