基本信息
文件名称:《Python网络爬虫技术案例教程》教案 第3章 网页解析基础.docx
文件大小:3.03 MB
总页数:7 页
更新时间:2025-05-26
总字数:约7.62千字
文档摘要

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实际上就是使用这种层次结构的路径来找到相应的节点,它类似于人们日常使用的地址,