PAGE6
PAGE6
PAGE5
PAGE5
课题
第3章网页解析基础
课时
10课时(450min)
教学目标
知识目标:
(1)理解网页基础知识
(2)掌握lxml库的使用方法
(3)掌握beautifulsoup4库的使用方法
(4)了解正则表达式的使用方法
(5)掌握存储数据至JSON或CSV文件的方法
能力目标:
能使用lxml库和beautifulsoup4库解析网页并存储提取的数据
素质目标:
在掌握基础网页解析技术的基础上,探索新的解析方法和技术,以应对不断变化的网页环境。
教学重难点
教学重点:lxml库、beautifulsoup4库的使用方法,正则表达式的使用方法,存储数据至JSON或CSV文件的方法
教学难点:使用lxml库和beautifulsoup4库解析网页并存储提取的数据
教学方法
案例分析法、问答法、讨论法、讲授法
教学用具
电脑、投影仪、多媒体课件、教材
教学过程
主要教学内容及步骤
考勤
【教师】使用APP进行签到
【学生】班干部报请假人员及原因
问题导入
【教师】提出以下问题:
网页一般由哪几部分组成?
【学生】聆听、思考、举手回答
传授新知
【教师】通过学生的回答引入要讲的知识,介绍网页基础知识,以及lxml库,beautifulsoup4库,正则表达式和存储数据至JSON或CSV文件的相关知识
3.1网页基础
1.HTML
网页一般由HTML、CSS和JavaScript三部分组成,其中HTML用于定义网页的结构和内容;CSS用于定义网页的样式;JavaScript用于定义网页的行为。
超文本标记语言(HyperTextMarkedLanguage,HTML)是一种用来描述网页的语言。它通过不同类型的标签来描述不同的元素,各种标签通过不同的排列和嵌套形成网页的框架。有的标签还带有属性参数,其语法格式如下:
<标签属性=参数值>
?【教师】利用多媒体展示“常用的标签”表格(详见教材),并进行讲解
常用的标签如表所示。
?【教师】利用多媒体展示“百度首页的HTML源代码”图片(详见教材),并进行讲解
例如,百度首页的HTML源代码如图所示。
2.HTMLDOM
?【教师】利用多媒体展示“节点树”图片(详见教材),并进行讲解
文档对象模型(DocumentObjectModel,DOM)定义了访问HTML和可扩展标记语言(ExtensibleMarkupLanguage,XML)文档的标准。HTMLDOM将HTML文档呈现为带有元素、属性和文本的树结构(也称为节点树),如图所示。
?【教师】利用多媒体展示“根元素html、元素head和元素body相互之间的关系”图片(详见教材),并进行讲解
在节点树中,顶端节点称为根(root),除了根节点外,其他每个节点都有父节点(parent),同时可拥有任意数量的子节点(child)和兄弟节点(sibling)。例如,根元素html、元素head和元素body相互之间的关系可用图表示。
3.CSS选择器
?【教师】利用多媒体展示“CSS选择器常用的语法规则”表格(详见教材),并进行讲解
层叠样式表(CascadingStyleSheets,CSS)选择器可以定位节点,常用的语法规则如表所示。
3.2lxml库
3.2.1案例引入——爬取小说《三国演义》章节信息
?【教师】通过讲解案例,引入lxml库的概念
【例3-1】爬取小说《三国演义》章节列表网页的内容,使用lxml库解析网页后,输出爬取到的小说章节列表链接。
(详见教材)
3.2.2lxml库简介
lxml库是Python的一个网页解析库,支持HTML和XML的解析,支持XPath解析方式,解析效率非常高。lxml库不是Python内置的标准库,使用之前需要安装,其安装方法与requests库的安装类似(请参考2.3.2节),此处不再赘述。
……(详见教材)
3.2.3XPath语法
?【教师】播放“XPath语法”视频(详见教材),并提出以下问题:
XPath语法有什么功能?
?【学生】观看、思考、举手回答
?【教师】总结学生回答
XPath的选择功能十分强大,它提供了非常简明的路径选择表达式。另外,它还提供了超过100个内建函数,用于字符串、数值、时间的匹配及节点、序列的处理等。可以说,几乎所有想要定位的节点,都可以用XPath来选择。
1.通过路径选择节点
?【教师】利用多媒体展示“XPath通过路径选择节点常用的语法”表格(详见教材),并进行讲解
HTML源代码是层次结构的,如果想要选择一个节点,可以一层一层往下查找。XPath实际上就是使用这种层次结构的路径来找到相应的节点,它类似于人们日常使用的地址,