00:00
Hello,大家好,欢迎各位小伙伴来到学习原地啊,那么本章节内容呢,我们要来学习一下如何解析我们的数据啊,按照我们的顺序呢啊,我们了解了这个呃,爬虫技术啊,以及知道了如何发起网络请求,以及网络请求当中的呃,请求头,包括get push的请求方式啊,还有我们的session的处理方法啊,那么本节课的内容呢,我们就来看一下如何解析我们的这个数据啊,那么解析数据是这样的,我们呢,有非常多的方法啊,本节课呢,我们先介绍第一种啊,叫做S,那么什么叫解析数据啊,我们大概来了解一下解析数据呢,就是说我们从网页当中发请求到服务器,然后跟我们返回的这些啊,网页的源代码在这个里面呢,呃,数据量是非常大的,我但是候呢,又不是我们全部需要啊,我们只需要一部分我们需要的数据,那么这个时候呢,我们就需要从。我们返回到的拿到的这个叫插门数据当中呢,来获取我们的数据啊,所以呢,我们这个地方啊,来使用看第一种啊方式叫做叉pass啊如何来获取,那么首先。
01:01
我们来了解一下什么叫叉啊呃,首先叉pass,它的全称是叉pass啊,然后呢,Language,那么叉二呢,指的是一种这个叫呃呃,一种语言吧啊,那么和我们的HMR呢非常相似啊,它们之间呢,也是有非常密切的关系的哈啊然后另外一个pass呢,指的是路径,Language呢是语言,所以说这个地方,这个叉pass指的什么呢?指的是叉M啊,路径语言,它是一门专门在这个叉M文档当中呢查找信息的一个啊一种语言,那么最初呢,是用来搜寻这个叉M文档的,但是呢,它同样适用于我们的SL文档的一个啊搜索,所以呢,我们在做爬虫的时候呢,完全可以使用这个插pass来做,呃,相应的啊,这个数据啊和信息的这个提取啊,所以呢,它是非常方便的一个工具啊,那么呃,插八子既然非常简单,非常方便,那我们来大概了解一下它的规则啊,首先嗯,在使用插八的时候呢,非常简单啊,如果你这个地方呢,可以直接写一个标签名,那么你写一个标签名呢,那就是选取这个标签的所有指标签啊,也我们也称为节点啊,节点或者元素都可以啊好,然后还有一个呃斜杠。
02:01
一个斜杠呢,呃,表示从当前节点去选取啊,它的这个子节点啊,直接子节点,那如果是两个斜线呢,两个斜线是从当前节点选取它的子孙节点,就包括他的子节点和孙子节点啊,然后还有一个点点就是选取当前节点啊,第二点是一个负极节点啊,还有一个艾特是选取属性啊,所以呢,非常简单的举例啊,这里面有一个啊,有一个斜杠,斜杠开头中括号括起来啊,写了一个艾特啊RNG等于ENG啊,那么在这里我们来表示,呃,说一下它是什么意思呢?首先这个title啊表示的是一个标签名,也就是说它需要从我们这个网页当中啊找到所有的这个title标签,然后其中啊中括号啊,也就是这位是它的属性名,等于这个属性值啊的节点,也就是说去查找符合这个条件的节点,那么它呃正常来讲呢,会找到所有符合你条件的节点,并且给你做返回啊,所以呢,用起来非常简单啊,这是一个非常小的一个案例啊,那么接下来呢,我们看一下这个插plus如何去安装啊,以及啊具体的如何操作使用,那么之前跟大家讲过,如果我们是呃Windows,并且你只有一个PYTHON3的环境下,你可以直接PP映到R3L就可以啊,但是如果我们有另一个场景,比如说嗯,你用的麦克系统啊,或者乌班陀啊,或者是圣通S。因为他们默认自带了已经。
03:16
嗯,已经安装了一个PYTHON2的几个环境,那么我们在使用的时候呢,使用的是P3,所以这个时候呢,你在安装的时候啊,在KB后面加一个三啊KB3IN install啊二三就可以了,好,那这样首先呢,我们来看一下啊如何安装来首先拷贝一下,然后打开我们的硬行终端,然后在这个地方呢啊使用PB。B3STOP来安装啊,当然我这个已经安装过了,那么也可以这B3。啊R叉M,我们来查看一下它的安装位置啊,好,当前我安装的是插毛,然后这个包名,然后它的版本是4.4.1好,然后它安装的这个目录位置啊,在这个位置啊,在这个位置,好关于这个安装的包啊,我这里呢,就不详细介绍,呃,之前也跟大家简单说过,你想安装这些包呢,都可以在我们的一个啊这个Python的啊,官方的啊这个呃,这个第三方的包文件当中啊,可以的啊,去查得到啊,这里面的所有的包都有,所以你在这里搜L叉L啊也可以找到来,我们刚才安弄的就是这个,好,然后点击。
04:16
见了以后呢,这里面呢,有对他的一个简单的介绍,并没有非常详细的一个说明啊,主要就是一个简单的介绍啊,告诉你它是什么东西对吧?啊,以及你如何安装和使用啊,那么这边呢,还有它的一个历史版本啊,以及啊相关的一些档案,那么下面呢,是有一个链接的主页,你可以点开看一下。嗯,好,这个是它的呃呃文档啊,原本的文档文档呢,他们都是英文的啊,英文的好在这个里面呢,你可以去查看一些信息啊,基本的使用啊,那这个算是呃R包的一个官方文档了啊对,好,那么呃这个大概了解一下啊,就知道我们怎么去安装好,那么接下来我们看一下我们安装完成以后如何去使用这个信息呢?好。大家看一下,首先啊,如果你要使用的时候,你安装完成以后,只需要在你的Python脚本当中啊,从R叉L这个包当中去导入E趣啊这个模块,然后接下来呢,你去定义这么一个text文档啊文档,那那这个里面呢,就是一个呃,HMR的标签的一个字符,那你可以定成任一个是任意内容了哈,那么导入以后,接下来你就可以去解析啊,解析完以后啊,你会看到一个这样的内容,当然你也可以不用,不用这么解析也可以啊,那我们来看一下,呃,解析的时候你可以有两种方案,嗯,我们直接看下面这个吧,好,第一种方式。
05:24
在你当前的脚本当中呢,导入了一次以后啊,定义了一个变量,这个变量当中呢,呃,C1对的这个HL的一个字符块,那我们要解析的时候呢,直接可以调用ec.htl啊这个方法来解析这个变量,那么接接下来我们就可以从呃这个ASP下线SMR这个变量当中啊来提取我们想到的内容啊第二种方式呢,是读取一个A的文件,因为通常情况下呢,我们可能需要把这个呃网页给我们反馈的源代码呢啊把它呃存储到文件当中,那么接下来呢,就在文件当中啊再去进行这样的一个操作,那么所以这个地方你可以用e.pass然后指定你当前要读取的呃文件名,然后呢啊用这个e h pass去解析啊解析啊解析之后呢,你会得到一个SL内容,当然你可以直接把它转成啊,转成一个咱们的用这块给它转一下,转完之后呢啊,再看一下字不集啊没有问题就OK了啊,这是一个简单的使用,下面呢,就是关于啊它的一个呃,标签啊,节点的元素的一些获取,好那么在这里呢,我提醒各位小伙伴,如果你对咱们的叉plus这个信息啊不是太特别了解,或者是。
06:25
不太清楚的话,那么建议大家呢,啊,有一个网站可以给大家看一下,呃,在我的手册里面也有明确的说明,我们打开。在手册这个位置好啊,这这个地方呢,在咱们的W3C库啊,这个网站上面专门有对X plus进行了一个描述和说明,我们可以打开看一下,嗯,好好叉呃X plus啊语言啊叉呃叫叉L啊,路径语言啊,然后呢,我们可以点开一个看一下就可以了,因为这个里面呢,我记住我们主要是用来学习它有哪些东西啊,当然这个网站呢,它因为打的是中文的哈,呃,英文的哈,你可以这么去搜,直接搜叉P。啊,然后第一个就是啊,W3C点二。
07:02
Com啊,点点com.C啊,然后叉plus index.asp啊这个网站啊,这个网站里面呢,就是针对我们叉的一些介绍,你看这个地方有教程简介啊,什么叫节点啊词呃,都用什么语法,什么叫轴啊,以及运算实力和一些总结啊,那比如说我们看一下呃下面的一个简介。简介啊,呃,插拔值是什么对吧?啊是什么内容,然后路径,嗯,表达式对吧?然后标的函数什么,好多信息啊,然后我们往下看一下啊然后呢,在插当中有七种类型的节点啊,第一种叫元素,还有属性,文本命名,空间处理指令以及注释和文档节点,那么其实我们常用的呢?啊元素什么呢?元素指的就是我们的标签,那么属性呢,就是这个位置,比如说啊,当前这是一个插法的文档啊好,这个东西是我们标签,这个东西是我们标签,那我们也把它称为元素,也可以理解为就是一个节点,好然后这个里面啊,这个里面这个内容就是我们的属性啊,属性这是当中的一个文本啊,文本啊一般来讲我们呃需要处理的时候基本上也都是啊,要么后续属性,要么获取它的文本啊,这两种方式是比较多的啊,因为我们要提出我们的关键数据嘛,对吧?好这这个里面的游戏介绍啊,有还有如果对节点这些概念啊,不太呃清楚的小伙伴呢,可以呢,对这个内容呢,做一个简单的了解好了,那么接下来我们安装完成以后,我们看一下我们应该如何使用。
08:16
嗯,在这里呢,我去新建一个脚本。来,在这里。新建一个我们的版本,我们定义为一点啊,我们的pass pass啊基本基本操作。好,首先在这里呢,我们for我们的。L叉L啊,然后呢I。RT,我们的E。R。我看一下我这个,我这个编辑器总是。啊,总是出问题,我我最近把它重新装了一下以,还是不行啊,我的form ROM啊,然后呢,咱们的R叉MLPRT,然后呢,EPE啊。
09:12
这。稍等一下,我们我们把这个关掉,重新打开看一下啊,看看有没有问题。总是这样就变得很讨厌啊。我本来大家对这个内容都不熟悉,结果呢,呃,结果呢,我们在敲的时候,它总是出现问题,所以非常不好啊,我们看一下,如果不行的话,我们先换个零七。哦,还好还好是吧,啊还好基本上都显示了,嗯,行,我们先用一下吧,啊,如果它后面再有问题的话,我们再来处理啊好,那我们看一下啊,首先这第一步导入第二步我们来看一下,在这里假设我定义一个变量啊叫text啊,然后呢,定义成一个大字块,那么这个字块当中呢,啊,我们去放一些我们的呃A的内容啊,比如说。打开我们的学,然后右键查看我们的网页云段码。好,然后呢,这里面的东西非常多对吧?好,那么在这里面我们把这个内容呢,复制一下C。
10:04
啊,然后呢,粘到这个里面啊,这个大家能看到啊,这个里面的东西是非常多的啊,那这样有一些,嗯,我们暂时可能不用的,我们先把它去掉。不然的话太多了,有可能。啊,然后呢,下面还有下面还有。呃,还能搞定这么多。嗯,我们我们找一些数据这样,嗯,待会儿呢,我们可能处理起来,嗯,都稍微方便一些啊,然后再往下找,呃,看这边。精品学习好,那这样啊,我们这个地方来点击点。啊,用我们的这个elements啊,叫元呃,叫节点查器啊,或者叫元素查看器啊,然后呢,来寻找我们的一些想要的内容,我们来看一下在。好像看到了很多关键词,这个关键词是在哪位啊,在上面的应该是学习动车这位的啊。来看一下。好深对吧。
11:01
再找精品学校啊,然后呢,下面。啊,应该到了核心产品。呃,诶,好像不是我们刚才想要的那个。好,看这个地方吧。看他是不是。不管这么多。嗯,好,账号开发公司好还有很多对吧,好我们不管了啊,好这样我们把个把这个的内容给我考虑一下来,这里边有一个,呃,有一个copy element element copy好把它复制过来,然后放到我们当前的这个编译器当中,然后这样我们处理的时候。是不是有点太多了?我们稍微处理一下。好在之后呢,我们应该还补上一个保底的内容啊啊。但是呢,这个标签里边的格式啊,不是不是特标准,不是特别标准,因为我们一下了100多行这个代码进来啊对嗯,当然了,我们主要可能还是要呃呃,主要目的还是为了要学习一下这个叉MR的呃叉的一个使用啊,这样我们把这个内容复制一下,然后到百度上面工具。
12:17
这工具叫叫代码,顺便找个工具啊,比如说工具这个就可以啊,哪都行,然后把我们刚才那个A3R代码呢往这一放,然后呢,让它进行缩定,那么用四个空格来进行设定,点击格式化好,接下来之后呢,把这个内容复制出来。然后再重新。看有没有变化啊。我感觉他没有没有处理好可能。不说话。不好用啊,这个我们再换一个工具。
13:02
算了吧,它不是特别好用啊,嗯,不特别好用的话,我们自己简单写几个吧,啊写几个。因为这样的话太多了,那种稍微多了,这个内容删掉。好三点以后这样啊,三点以后这做呃,来大家看一下啊,上面这个内容大家能看清对吧?然后下面呢,我就简单写一写就可以了啊啊用我们的U耳朵线6262。血管负责。然后。啊,这个地方呢,写个R2,然后R2里面呢,放个A标签啊,放一个A标签写到A好,然后呢,这里面放一个二小A点啊等于比如说啊比如说比如说叫什么叫,呃可下到A点啊A点那个A乘P,那A下到A下到B下到C吧,好然后这个地方呢,叫做工程师S程师工程数好接下来加。
14:08
好,开始。然后这个呢,是我们的这个,比如说叫什么叫这个AI吧,A公式。好。那么这个后面呢,每一个呢,都给加一个,加一个这个。啊,地址啊,都让它是不一样的,不一样的啊,我们只是模拟下这个操作就可以了知。大家能看到啊,目前这个里面呢啊,我们这是一个,呃,算是一个比较标准的啊,比较标准的这么一个A的文档啊文档,不过他可能没有啊,乱七八糟的很多样式啊,这个我们都不关注啊,没问题啊,来把这个干掉干掉。没有的我们就删掉啊,尽量让他简洁一点好了,那么注意看,这是一个H2啊,标准的HMR文档,然后呢,Doc type是我们的文档头,一般来讲呢,就是我们在写HMR当中的时候需要做声明,并且你知道声明的话就是明确的告诉浏览器我当前使用的是啊,或者说让浏览器啊按照H5的标准来解析我的代码,对吧?好,然后接下来呢,剩下的全是我们标签了,对吧?好,标签里面的第一个H么,我们称为啊叫叫做根节点,那这第一个标签H就我们的根节点,然后在根节点下面。
15:12
就是说HMR这个标签它有两个孩子啊,两个子节点,那么这两个子节点是什么?是header和body对不对啊,然后呢,这里边呢,Ma title uri和和A标签都属于什么?都属于A的顺子节点了啊,都属于顺子节点,那同样啊,同样的这个标签也属于谁,也属于UR和body的节点对不对?所以呢,UR是它的,呃,这个叫做是body的直呃,直接直节点,那么RI是UR的直接直节点,那么A是呃这个R的直接直节点啊所以说就是你先了解一下我们这个文档数的一个大概结构,好,那么接下来我们就在解析这个内容啊,解析这个内容解析什么呢?举个例子啊,我需要获取这个里面的所有的这些啊,A标签里面的这个所有的关键字啊,所有的这个这个文本的信息啊,我们怎么去做呢?啊,那A3当中我们经常获取的都是源代码,然后要提取我们的内容对吧?好,那接下来看一下啊,上面这位呢,是导入包,导入包以后呢,接下来我们在这里定义个HTL,等于我们的EETE点,嗯,HTML。
16:14
错了啊一点,然后把这个呢,把我们当前的这个T放去放那么下来我们来一下这个。遇见我们当前这个脚本,我们来看一下它的输出的结果,好来看一下他当年他当才告诉你它是一个element AR的一个标签啊,标签对象对不对啊,这是一个变量啊,那么接下来我们这是啊来首先第一步啊,这是解析,这叫做解析啊,使用使用这个e etr解析HTML啊HMR好解析完成以后,接下来怎么做呢?好在我们在做的时候,我们就要提取里边数据的对吧?好接接下来看一下啊,简单的提取一下数据,提取数据啊,那么这个时候怎么办呢?那么SMR就是我们当前已经解析经过我们的呃一税解析后的SMR的这个啊对象了,那么接下来呢,用它的一个方法叫做SMR表XXPA啊好,那么这个地方注意一下啊,这个SMR的变量你可以随便改啊,你可以改成改成任意内容,内容没有关系啊,就是返回的变量嘛,对吧?啊变量之后调用这个插画的方法的时候,这里面怎么写呢?啊,比如说我要找到所有的偶上有标签啊,那么我们可以这么找啊,如果从更找的话,那就是跟下的。
17:30
H下的body下的UR下的R对不对,是不是应该这么找啊,那我们怎么写啊,这里就写跟下的HT下的body啊,下到这个叫U下面的R对不对啊,那我们来可以看一下它当前的一个处理的这个结果R等,那么接下来呢,我们把这个内容呢,给它家打印一下R的结果来运行。所以。那么大家注意看啊,这里呢,是不是变成一个列表,它是四的R标签对不对,我们想要的是这个R标签嘛,不是我们要的是这个R标标签里面的这个内容对不对啊,所以这个时候呢,好,我们在这里边来T括号啊,用斜杠T括号来运行作用。
18:10
四个啊,后面还有一条线对吧。我们来看一下运行证明,好,大家来看一下加入工程师,派件工程师和AI工程师是不是全部都获取到了啊,全部都能获取到啊,好,那么这个位置是什么?我们来说一下根下的H乘二,就是说我这个路径啊,我是严格按照它当前的文档结构来写的,那我就是要找到页面中所有的HR,呃,这个下面的body里面的UR,下面的RI,呃,里面的所有A,然后并且取它的T,那这样的话,那就获取到了所有,对不对?好,那么是这样的,如果我只想获取第一个,那这个时候怎么办呢?好,我们来看一下啊,然后把这个结果啊给大家复制一下。好嘞。好,放到这个里,好,那么接下来这是一种啊,这是一种结果啊,那这样啊,R等于我们的R等于我们的HTMRTPA检测,好在这里边获去的时候我这么写啊,我想到所有的APRI下达body下达UR下达RI里面的A标签,对吧,那A标签它有很多,这个R标签本身就有很多了,对吧?啊所以这个时候我们怎么呢?好中号一,然后下A。
19:18
来看一下这个结构运行,它这一次只获取到了一个角,当然它虽然也是一个列表,但是它只获取到了一个,那么问题啊出在哪呢?啊,问题就在于我们中间用了一个什么啊,中间用了一个下标,注意在我们的呃列表当中,我们所学的Python这个语言列表当中啊,这些元素我们都是按照零下标开始的,对吧?但是在这个叉八当中,很明显啊,在这个选举标签的时候,它的索引是从一开始的啊,很明显第一个就是打入姆斯对不对啊,所以我这个地方是什么意思呢?从HMR的body里面找到UR,然后里面的R,我要第一个R对不对,然后接下来找到它里面的A标签啊,获取它的。啊获取啊,这是一个基本信息啊,基本信息啊,它的一个叉的,呃,这个获取,嗯,大家有没有看到啊,那么这样的话,我们使用这个叉pass啊,在获取数据的时候变得非常方便,非常简单啊非常简单,好好这是一种方案,好那么接下来这样。
20:07
嗯,好这样,嗯,那么呃,这节课呢,简单给大家介绍一下我们的这个R叉L,就是我们的叉pass如何解析,如何提取啊,大家对它呢先有个认识,那么下节课呢,我们来详细介绍一下我们叉pass的各种啊数据的提取方案和方法啊,当然了,它内容很多,我们只需要介呃这个啊了解一些常规的,因为经常情况下我们可能是要获取这个信息,就它的文标签里边的文本信息,以及它的属性信息啊,通常情况下就是这两种是我们获取最多的啊,所以呢,我们重点呢就是讲解一下啊如何获取这样的信息,好了,各位小伙伴,那课后呢,大家抓紧把这个内容呢做一个练习。
我来说两句