Python网络爬虫基础教程 教案 第4章 解析网页数据.docx

上传人:太** 文档编号:46524028 上传时间:2022-09-26 格式:DOCX 页数:6 大小:39.48KB
返回 下载 相关 举报
Python网络爬虫基础教程 教案 第4章 解析网页数据.docx_第1页
第1页 / 共6页
Python网络爬虫基础教程 教案 第4章 解析网页数据.docx_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《Python网络爬虫基础教程 教案 第4章 解析网页数据.docx》由会员分享,可在线阅读,更多相关《Python网络爬虫基础教程 教案 第4章 解析网页数据.docx(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、样的教育,不一样的品质黑马程序员 itheima 传智教育旗下 高端IT教育品牌黑马程序员Python网络爬虫基础教程教学设计课程名称: 授课年级:授课学期:教师发名:JSONPath的表达式定位目标对象,并从目标对象中提取想要的数据。四、归纳总结教师回顾本节课所讲的内容,并通过测试题的方式引导学生解答问题并给 予指导。五、布置作业教师通过身校教辅平台( :/tch.ityxb )布置本节课作业以及卜力课 的预习作业。第五、六课时(上机练习)上机练习主要针对本章中需要重点掌握的知识点,以及在程序中容易出错 的内容进行练习,通过上机练习可以考察同学对知识点的掌握情况,对代码的 熟练程度。上机一:

2、(考察知识点为正那么表达式的语法、re模块的使用、XPath语法)形式:单独完成题目:根据以下要求练习re模块、XPath和Ixml的使用,要求如下:(1)练习Python中re模块的使用;(2)练习XPath语法的使用;(3)练习XPath Helper插件的使用;(4)练习Beautiful Soup匹配节点的使用。上机二:(考察知识点为JSONPath语法、jsonpath模块的使用、和完成 实践工程)形式:单独完成题目:根据以下要求练习Selenium的使用,要求如下:(1)掌握jsonpath模块的安装;(2)练习jsonpath模块的使用;(3)完成实践工程采集黑马程序员论坛网的帖

3、子。教学后记黑马程序员 itheima 传智教育旗下 高端IT教育品牌样的教育,不一样的品质课题名称第4章解析网页数据计戈U 课时4课时教学引入通过对第3章的学习,我们已经将整个静态网页的源代码全部抓取下来了, 并且源代码里面也包含了最终要提取的数据。这些数据分为非结构化数据和结 构化数据两种,由于这两种数据有着各自的特点,所以需要采用不同的技术方 案进行解析,提取与目标有关的数据。本章将围绕着解析网页数据的相关知识 进行详细地讲解。教学目标 使学生了解解析网页的技术,能够说出正那么表达式、Xpath、Beautiful Soup与JSONPath的特点 使学生熟悉正那么表达式的语法,能够归纳

4、元字符与预定义字符集的含义 使学生掌握re模块的用法,能够灵活应用re模块解析网页数据 使学生了解XPath的概念,能够说出XPath的路径表达式的作用 使学生掌握XPath的语法,能够熟练编写XPath的路径表达式 使学生掌握XPath的开发工具,能够独立安装与使用XPath Helper工具 使学生掌握Ixml库的用法,能够灵活应用Ixml库解析网页数据 使学生熟悉Beautiful Soup,能够归纳Beautiful Soup包含的类和基本用法 使学生掌握BeautifulSoup类对象的创立方式,能够使用BeautifulSoup类的构造方法创立BeautifulSoup类对象 使学

5、生掌握BeautifulSoup中选取节点的方式,能够使用查找方法和CSS选择器选取节点 使学生熟悉JSONPath的语法,能够熟练地编写JSONPath的表达式 使学生掌握jsonpath模块的用法,能够灵活运用jsonpath模块解析JSON 文档教学重点 XPath语法 XPath开发工具 Ixml库简介 仓II建Beautiful Soup类的对象 通过查找方法选取节点 通常CSS选择器选取节点教学难点 XPath语法 Ixml简介 创立Beautiful Soup类的对象 通过CSS选择器选取节点教学方式课堂教学以PPT讲授为主,并结合多媒体进行教学教 学 过 程第一课时(解析网页数

6、据的技术、正那么表达式的语法、re模块的使用)一、创设情景,导入新课在之前学习的爬虫程序只是将网页下载到本地,但爬虫程序的目的是提取 网页中的数据,为了能够提取网页中的数据,我们需要学习解析网页数据的技 术从而引出本节课程所学内容。二、新课讲解知识点1解析网页数据的技术教师通过PPT的方式讲解解析网页数据技术。(1) 了解什么是正那么表达式。黑马程序员 itheima 传智教育旗下 高端IT教育品牌样的教育,不一样的品质(2) 了解什么是Xpath。(3) 了解什么是 Beautiful Soup。(4) 了解什么是 JSONPath。教师通过PPT的方式讲解什么是正那么表达式。正那么表达式是

7、一种文本模式,这种模式描述了匹配字符串的规那么,用于检 索字符串中是否有符合该模式的子串,或者将匹配到的子串进行替换。教师通过PPT的方式讲解什么是XpathoXPath是XML路径语言,用于从HTML或XML格式的数据中提取所需的 数据。XPath适合处理层次结构比拟明显的数据,它能够基于HTML或XML 的节点树确定目标节点所在的路径,顺着这个路径便可以找到节点对应的文本 或属性值。教师通过PPT的方式讲解什么是Beautiful SoupoBeautiful Soup是一个可以从HTML或XML文件中提取数据的Python库, 它同样可以使用XPath语法提取数据,并且也在此基础上做了方

8、便开发者的封 装,提供了更多项选择取节点的方式。教师通过PPT的方式讲解什么是JSONPath。JSONPath的作用类似XPath,它也是以表达式的方式解析数据的,但只能 解析JSON格式的数据。知识点2正那么表达式的语法教师通过PPT的方式讲解正那么表达式语法。(1)熟悉什么是元字符。(5) 熟悉什么是预定义字符集。教师通过PPT的方式讲解什么是元字符。在正那么表达式中,元字符是指具有特殊含义的专用字符,主要用于规定其 前导字符在给定字符串中出现的模式。常用的元字符如下表所示。元字符说明*匹配任何一个字符(除换行符外)A匹配字符串的开头$匹配字符串的末尾1连接多个子表达式,匹配与任意子表达

9、式模式相同的字符串字符组,匹配其中的出现的任意一个字符-连字符,匹配指定范围内的任意一个字符9 匹配其前导字符。次或1次*匹配其前导字符。次或屡次+匹配其前导字符1次或屡次n匹配其前导字符n次m,n匹配其前导字符mn次0分组,匹配子组教师通过PPT的方式讲解什么是预定义字符集。在正那么表达式中,除了前面讲解的元字符之外,还预定义了一些字符集, 这些字符集以更加简洁的方式描述了一些由普通字符和元字符组合的模式。常 用的预定义字符集如下表所示。黑马程序员 itheima 传智教育旗下 高端IT教育品牌样的教育,不一样的品质预定义字符集说明w匹配下画线或任何字母(a-zA-Z)与数字(0-9)s匹配

10、任意的空白字符,等价于空格trnfvd匹配任意数字,等价于0-9b匹配单词的边界W与w相反,匹配非字母或数字或下画线的字符S与s相反,匹配任意非空白字符的字符,等价于NsD与d相反,匹配任意非数字的字符,等价于NdB与b相反,匹配不出现在单词边界的元素A仅匹配字符串开头,等价于八Z仅匹配字符串结尾,等价于$知识点3re模块的使用教师通过PPT的方式讲解re模块使用。(1)掌握如何创立Pattern对象。(2)掌握使用re模块进行全文匹配。教师通过PPT的方式讲解如何创立Pattern对象。为了节省每次编译正那么表达式的开销,保证正那么表达式可以重复使用,我 们可以使用compile。函数对正那

11、么表达式进行预编译,从而生成一个代表正那么表 达式的Pattern对象。教师通过PPT的方式讲解使用re模块进行全文匹配。如果希望从全部文本中匹配所有符合正那么表达式的字符串,可以使用 Pattern对象的findall。与finditer。方法,其中findall。方法用于获取目标文本中 所有与正那么表达式匹配的内容,并将所有匹配的内容以列表的形式返回; finditer。方法同样可以获取目标文本中所有与正那么表达式匹配的内容,但该方 法会将匹配到的子串以迭代器的形式返回。三、归纳总结教师回顾本节课所讲的内容,并通过测试题的方式引导学生解答问题并给 予指导。四、布置作业教师通过高校教辅平台(

12、 :/tch. ityxb. com)布置本节课作业以及下 节课的预习作业。第二课时(XPath简介、XPath语法、XPath开发工具、Ixml库简介) 一、复习巩固教师通过上节课作业的完成情况,对学生吸收不好的知识点进行再次巩固 讲解。一、教师通过直接导入的方式导入新课上节课主要讲解了解析网页数据的技术、正那么表达式的语法、re模块的使 用接下来,本节课将讲解XPath简介、XPath语法、XPath开发工具和Ixml库 简介。三、新课讲解知识点1- XPath简介样的教育,不一样的品质 itheima 黑马程序员传智教育旗下 高端IT教育品牌教师通过PPT的方式讲解XPatho(1) 了

13、解什么是XPath。(2) 了解XPath是如何搜索XML或HTML文档。教师通过PPT的方式讲解什么是XPathoXPath (全称Xml Path Language)即XML路径语言,是一种用于确定XML 文档中局部节点位置的语言,它起初只支持搜索XML文档,更新后也支持搜 索HTML文档。教师通过PPT的方式讲解XPath是如何搜索XML或HTML文档。XPath基于XML或HTML的节点树,沿着节点树的节点关系定位到目标 节点所在的位置,并选取节点或节点集。为了形象地描述出搜索节点的路径, XPath提供了简洁明了的路径表达式,通过路径表达式可以快速地定位与选取 XML或HTML文档中

14、的 个节点或者一组节点集。知识点2-XPath语法教师通过PPT的方式讲解XPath语法。(3) 掌握使用XPath选取节点。(4) 掌握使用XPath的谓语。(5) 掌握使用XPath选取未知节点。(6) 掌握使用XPath选取假设干路径。教师通过PPT的方式讲解XPath选取节点。选取节点是最基础的操作,节点所在的路径既可以是从根节点开始的,也 可以从任意位置开始的。选取节点的用法如下表所示。表达式说明节点名称选取此节点的所有子节点/从根节点选取直接子节点,相当于绝对路径/从当前节点选取后代节点,相当于相对路径选取当前节点 选取当前节点的父节点选取属性节点教师通过PPT的方式讲解XPath

15、的谓语。谓语是为路径表达式附加的条件,主要是对节点集进行筛选,选取出某个 特定的节点,或者包含了指定属性或基本值的节点。谓语会嵌入到中括号中, 并位于要补充说明的节点后面。谓语可以是整数、属性、函数,也可以是整数、属性、函数与运算符组合 的表达式。假设为整数(从1开始),那么这个数值将作为位置,用于从节点集中 选取与该位置对应的节点;假设为属性,那么会从节点集中选取包含该属性的节点; 假设为函数,那么会将该函数的返回值作为条件,从节点集中选取满足条件的节点。 常用的XPath函数如下表所示。函数说明position()返回当前被处理的节点的位置last()返回当前节点集中的最后一个节点coun

16、t()返回节点的总数目样的教育,不一样的品质 itheima 黑马程序员传智教育旗下 高端IT教育品牌max(arg,arg,.)返回大于其它参数的参数min(arg,arg,.)返回小于其它参数的参数name()返回当前节点的名称current-date()返回当前的日期(带有时区)current-time()返回当前的时间(带有时区)contains(string 1 ,string2)假设string 1包含string2,那么返回true,否那么返回false教师通过PPT的方式讲解XPath选取未知节点。XPath中提供了选取未知节点的通配符和函数,关于它们的说明如下表所黑马程序员

17、itheima 通配符/函数说明*匹配任何元素节点*匹配任何属性节点node()匹配任何类型的节点黑马程序员 itheima 传智教育旗下 高端IT教育品牌样的教育,不一样的品质教师通过PPT的方式讲解XPath选取假设干路径。在XPath中,我们可以使用运算符连接多个路径表达式,以根据多个 路径选取对应的节点。知识点3-XPath开发工具教师通过PPT的方式讲解XPath开发工具。了解什么是XPath Helpero(2)掌握XPath Helper的安装。(3)掌握XPath Helper的使用。教师通过PPT的方式讲解什么是XPath HelperoXPath Helper是一款运行在C

18、hrome浏览器的插件,它支持在网页上单击元 素生成路径表达式,也支持对照网页源代码手动编写路径表达式。在使用XPath Helper测试之前,我们需要先在Chrome浏览器上添加XPath Helper插件。下 面为大家分别讲解安装与使用XPath Helper插件。教师通过PPT的方式讲解XPath Helper的安装。关于Fiddler的XPath Helper的安装步骤请查看第4章4.3.3节或配套PPT 对应章节内容。教师通过PPT的方式讲解XPath Helper的使用。关于XPath Helper的使用请查看第4章4.3.3节或配套PPT对应章节内容。知识点4-lxml库简介教师

19、通过PPT的方式讲解Ixml库简介。(1) 了解Ixml库的作用是什么。(2) 了解 ElementTree 类。(3) 了解 Element 类。(4) 了解ElementTree类或Element类的查找方法。教师通过PPT的方式讲解Ixml库的作用。为方便开发人员在程序中使用XPath的路径表达式提取节点对应的内容, Python提供了一个第三方库Ixml,通过该库可以轻松地对HTML或XML文档 中的目标节点进行定位并提取。教师通过PPT的方式讲解ElementTree类。黑马程序员传智教育旗下 itheima I高端IT教育品牌一样的教育,不一样的品质ElementTree类的对象可

20、以理解为一个HTML或XML文档的节点树。为方 便开发者将HTML或XML文档转换为ElementTree类的对象,etree模块中提 供了一个parse。函数。教师通过PPT的方式讲解Element类。Element类的对象可以理解为XML或HTML文档的节点,它与Python中 的列表非常相似,可以使用诸如len()、append() remove。等方法修改节点,也 可以使用索引、切片获取节点集中的子节点。教师通过PPT的方式讲解ElementTree类或Element类的查找方法。(l)find()方法:从节点树的某个节点开始查找,返回匹配到的第一个子 节点。(2) findall。方

21、法:从节点树的某个节点开始查找,以列表的形式返回匹 配到的所有子节点。(3) xpath()方法:从节点树的根节点或某个节点开始查找,以列表的形式 返回匹配到的所有子节点。四、归纳总结教师回顾本节课所讲的内容,并通过测试题的方式引导学生解答问题并给 予指导。五、布置作业教师通过高校教辅平台( :/tch.ityxb )布置本节课作业以及下节课 的预习作业。第三课时(Beautiful Soup简介、创立BeautifulSoup类的对象、通过查找方 法选取节点、通过CSS选择器选取节点)一、复习巩固教师通过上节课作业的完成情况,对学生吸收不好的知识点进行再次巩固 讲解。二、教师通过直接导入的方

22、式导入新课上节课主要讲解了 XPath简介、XPath语法、XPath开发工具、Ixml库简 介,接下来,本节课将讲解Beautiful Soup简介、创立Beautiful Soup类的对象、 通过查找方法选取节点和通过CSS选择选取节点。三、新课讲解知识点1- Beautiful Soup简介教师通过PPT的方式讲解Beautiful Soup简介。(1)介绍什么是 Beautiful Soupo(2)介绍Beautiful Soup模块中常用的类教师通过PPT的方式讲解什么是Beautiful Soup。Beautiful Soup是一个用于从HTML或XML文档中提取目标数据的Pyth

23、on 库,它历经了众多版本,其中Beautiful Soup 3目前已经停止开发与维护,官方 推荐使用Beautiful Soup 4 (简称为bs4)进行开发。教师通过PPT的方式讲解Beautiful Soup模块中常用的类。bs4库或bs4.element模块中提供了 4个比拟重要的类,分别是Tag类、 NavigableString类、BeautifulSoup类和Comment类,关于这4个类的具体讲解 如下。(1) bs4.element.Tag类:表示HTML中的标签,最基本的信息组织单元。黑马程序员传智教育旗下 itheima I高端IT教育品牌一样的教育,不一样的品质它有两个

24、非常重要的属性,分别为表示标签名字的name,表示标签属性的attrs。(2) bs4.element.NavigableString类:表示HTML中标签的文本(非属性 字符串)。(3) bs4.BeautifulSoup类:表示HTML D0M中的全部内容,支持遍历文 档树和搜索文档树的大局部方法。(4) bs4.element ment类:表示标签内字符串的注释局部,是一种特 殊的NavigableString类的对象。知识点2.创立Beautiful Soup类的对象教师通过PPT的方式讲解Beautiful Soup类的对象。要想使用Beautiful Soup解析网页,需要先使用构

25、造方法创立一个 BeautifulSoup类的对象。当使用构造方法创立BeautifulSoup类的对象时,该方 法会先将HTML或XML文档转换成Unicode编码后的内容,再选择合适的解 析器来解析整段内容。Beautiful Soup会根据当前系统已经安装的库自动选择解 析器,选择顺序为Ixml-htmlSlib-Python标准库。知识点3.通过查找方法选取节点教师通过PPT的方式讲解通过查找方法选取节点。BeautifulSoup类中提供了一些基于HTML或XML节点树选取节点的方法, 比拟主流的两个方法分别是find。和find_all(), find。方法用于查找符合条件的 第一

26、个节点;find_all()方法用于查找所有符合条件的节点,并以列表的形式进 行返回。find。和find_all()中的参数的具体说明,以及使用请查看第5章5.4.3或PPT 相应章节内容。知识点4.通过CSS选择器选取节点教师通过PPT的方式讲解通过CSS选择器选取节点。bs4库还提供了 CSS选择器进行查找节点。CSS选择器,又称CSS属性选 择器,它是选择需设置样式的元素的模式,这种模式指定了样式作用于网页页 面中的哪些元素,可以使用CSS对HTML页面中的元素进行一对一、一对多 或多对一的控制。CSS选择器有许多种类,其中常用的CSS选择器有类别选择器、元素选择 器、ID选择器和属性

27、选择器,关于这4种选择器的讲解如下。(1)类别选择器:根据类名选择元素,类名前面用进行标注。例如,.intr。 表示选择包含class=intro”的所有元素。(2)元素选择器:根据元素名称选择元素。例如,p表示选择所有vp元 素。(3) ID选择器:根据特定ID选择元素,ID前面加上“产进行标注。例 如,#linkl表示选择特定ID的值为linkl的元素。(4)属性选择器:根据元素的属性选择元素,属性必须用中括号进行包裹, 它既可以是标准属性,也可以是自定义属性。例如,target=_blank表示选择包 含target=_blank”的所有元素。四、归纳总结教师回顾本节课所讲的内容,并通过

28、测试题的方式引导学生解答问题并给 予指导。五、布置作业教师通过高校教辅平台( :tch.ityxb )布置本节课作业以及下节课的预习作业。第四课时(JSONPath语法、jsonpath模块的使用) 一、复习巩固教师通过上节课作业的完成情况,对学生吸收不好的知识点进行再次巩固 讲解。一、教师通过直接导入的方式导入新课上节课主要讲解了 Beautiful Soup简介、创立Beautiful Soup类的对象、通 过查找方法选取节点、通过CSS选择器选取节点,接下来,本节课将讲解 JSONPath语法和jso叩ath模块的使用。三、新课讲解知识点1- JSONPath语法教师通过PPT的方式讲解

29、JSONPath语法。JSONPath可以看作定位目标对象位置的语言,不过只适用于JSON文档。 JSONPath与JSON的关系相当于XPath与XML的关系,JSONPath参照XPath 的路径表达式,提供了描述JSON文档层次结构的表达式,通过表达式定位到 目标对象。JSONPath的语法比拟简单,它采用了更加友好的表达式形式。接下来,通 过 张表列举JSONPath的语法,并与XPath语法进行比照讲解。JSONPath的 语法如下表所示。JSONPathXPath说明$/选取根对象/根节点选取当前对象/当前节点.或口/选取下级对象/子节点不支持 选取父节点,JSONPath不支持

30、/选取所有符合条件的对象/节点*选取所有对象/节点不支持选取属性节点,由于JSON没有属性,所以JSONPath 不支持下标运算符J1联合运算符?()支持过滤操作0不支 持支持表达式计算不支持0支持分组,JSONPath不支持知识点2-jsonpath模块的使用教师通过PPT的方式讲解jsonpath模块的使用。jsonpath是一个解析JSON文档的模块,它可以通过JSONPath的表达式从 JSON文档中提取需要的数据。jsonpath支持多种语言的实现版本,包括Python JavaScript PHP 和 Java。jsonpath模块中提供了一个重要的函数jsonpath。,jsonpath。函数会根据黑马程序员 itheima 传智教育旗下 高端IT教育品牌样的教育,不一样的品质

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com