00:00
好,欢迎大家来到局限地,那么在前面的课程当中呢,给大家去介绍了一下我们关于这个爬虫的当中的这个数据的提取,这个叉pass啊,那也是一个非常好用的工具,对吧?好,那么在这一章节呢,再给大家去分享另外一个啊,也是我们part当中非常重要的一个数据提取的工具啊,叫做beautiful soup,也就是我们简称的BS4,那我们来呃,一起看一下这个工具啊如何去使用,首先这个不还不能放大啊,放大的话我们看不太清,好这样我把它放在中间,我们来看一下哈,Beautiful对数不是,也就是简称BS4,翻译成中文就是美丽的汤啊,美丽的汤,Beautiful啊,Beautiful就是美丽是吧?啊,速度就汤,好美丽的汤。那么这个起特的名字呢,是来源于爱丽丝梦游仙境啊对,然后呢,嗯,这个官网上面也有一个用爱丽丝做的一个奇怪的插图啊,我们可以打开看一下啊,这个是它的一个官网的这个链接地址,那么这个就是我们对对数谱啊,就个BS4的这个官方文档,好它可能呃速度稍微有些慢啊,但是内容还是比较全的啊好,这是当前的一个文档,好那么接下来是这样的哈,我们要想使用这个贝雷的话,首先呢,要对它进行一安装,安装的方法非常简单K。
01:00
Beautiful是不是啊,一定要指定好,然后呢,如果你当前的环境啊有多个,我再提醒大家哈,如果你当前的环境有多个啊的话呢,那你这个位置呢,需要指定PB3啊,比如说我当前的Mac系统,因为我们Mac系统呢,就是在呃使用的过程当中呢,它是有两个环境的啊,第一个来看一下Python-A,那么它默认安装的是PY3.7,然后它还有一个我还自己装了一个PYTHON3的环境是3.7的啊,那么这样的话呢,我如果想要进行安装的话,我就必须啊使用这样的一个方法啊来呃,叫PP3,然后in stop beautiful是火啊BA4。好,来看一下。让他去那个安装一下啊诶嗯,安装错误吗?我看一下还是我已经安装过了啊来我别打错了名字啊,来复制一下重新安装测试一下啊PP3IN install啊然后呢,把这个名字给放到这。嗯。PP3来前面加上PP3回车。啊,这是已经安装过了哈,这已经安装过了,已经安装过的话,那我们去可以去看一下啊,怎么查看我们安装的东西啊叫PAP3SO,然后BS4,我们看一下有吗?没有了吧,没有的话送那个对数啊来看一下这里粘贴。
02:14
怎么把站到这个位置。PIP3,然后so啊,这个风速好,这已经安装过了啊,对,它就在我们的呃,这个librarywork啊,Python这个work version3.7library啊,Python3.7啊带这个page啊,这个文件这个文件夹当中啊,已经安装过了啊,那么安装完之后呢,我们看一下这个beautiful数字式的一个基本使用它首先的话,使用的话就首先第一点你需要从BS4边去导入这个贝对数度,然后接下来呢,你如果有一个AMR的文档内容,那么接下来就可以使用这个方式呢,进行一个啊进行一个解析啊,一个解析啊啊这些内容呢,也来自于这个BS4的一个官网哈,对解析的话首先。创建一个被数目的对象,然后呢,建议手动指定一个解析析,就这个R叉ML的方式来进行解析,当然了,如果这个R叉码你以按就是指定以后它报错啊,他报错的话,那你可以用s.pass啊pass这个方式呃来进行解析,只不过呢,它它这个这个在使用的过程当中啊,就是嗯,不太规范的文档呢,可能会容易出现问题啊,所以推荐你使用这个R叉啊好,那么我们来看一下啊,就是我们在解析完这个获取这个数字对象之后呢,我们接下来如何去操作呢?啊来当前的这个文档当中啊,有非常详细的一个啊说明和介绍,我们来看一下啊,首先你可以使用T啊TT对象,T对象就指的我们标签对象,按照文档的结构呢来获取一些数据,比如说获取T啊,获取P标签啊,获取这个P标签的一个这个P元素的一个class属性,对吧?啊,获取这个P标签下面的一个B元素啊,获取P标签啊的负极里边的name啊,也就是它的一个名字,那这样的话都可以使用的一个方式啊好这样,那么我在这里呢,给大家去演示一下我们当前这个啊BS4的一个操作,来新建一个文件啊,我们第一个。
03:49
好,在这里啊,创建一个叫BS4BS4的一个的基本操作操作啊,TIgEr标签标签啊好了在这里再提醒大家一下哈,我在写代码的过程当中,所定义的这个脚本的名字呢,都是中文的,都是中文的,主要目的呢,是为了大家在后面学习的过程当中呢,啊,能够看得清我们当前每一个脚本啊,所写的内容啊,所写的内容啊,都会以我们当前的这个内容为主题,定义这个当前的脚本名字,但是大家呢,在后期的开发过程当中,一定要注意这点,就是不要用中文啊,不要用中文啊,这个需要大家注意一下啊。好了,那么接下来我们看一下哈,它的使用方法,我把这个内容呢,直接给大家啊复制出来,然后CRC粘一下,那么接下来呢,放到我们刚才这个脚本当中看一下它的一个使用,首先第一步安装后需要先导入对吧,导入诶。
04:30
呃,Bsport so,我这个代码导入之后,它又有问题有问题。啊,不知道,每每回都会啊,这个啊,可能是我这个编辑器的问题啊,每回导入都会出现这种情况,不是少一个字母就少两个字母啊,来这样我把这个编辑器关掉,重新打开一次啊,我们再来测一下。已经发现他好多次了,但是我也不知道为什么他有时候打开就没问题啊,好,我们稍等一下让它打开。啊,点击这个文件。
05:04
呃,哎,你看这个BS4有没有,他每回都是。缺东少西的完再说。我也是醉了是吧?它肯定不行啊,我们没法看清我们的代码都来重新打开看一下行不行,不行我就换换个编辑器了,算了,我换个编器吧,这样啊,来打开我刚才这个文件啊,来呃,这个位置来右键我用这个我的S编辑器啊来给它打开,当然这样的话,我们在写代码的时候可能有些不舒服了啊好大家试一下啊,首先form bs inport的beautiful数,就是先导入这个beautiful速度这么一个类,导入之后呢,我们在这里定义了一个大的文档啊,这个文档,然后之后呢,哎,我们在下面呢,去实例化,实例化创建个beautiful对速度录像,然后呢,把刚才定义的这个变量解拿进来,然后用R叉L的这个方式来来进行一个解析,那接下来我们去看一看我们当前。如何获取这样的一个文档结构当中的啊一些内容,比如说啊,通过这第一个啊,我们来看一下。通过tIgEr的啊标签的标签对象获取。
06:00
啊,获取这个文档数据吧,啊,文档数据,文档数据啊,举个例子啊,来这个位置呢,我们看一下,这个叫SOSO点我们的title.pi那么点title呢,这个获取的就是title的标签,来这个叫呃,我们看一下,用用那个R来接收一下啊来下面呢,用print来打印一下,看一下这个结果。法结果来,Sorry,这个办法呢,在这里呢,没法运行脚本了啊,没法运行的话,我就到我们当前的这个。看一下我们这个看能不能进来啊,进不来就麻烦了。好,然后呢,扣的OKRS看一下好PON3运行一点BS4。诶,他没有输出任何结果吗。我这个位置呢,是使用我们的拍三,拍三来运行我们一点BS4这个脚本,但是它没有输出我想要的。结果。为什么没有输出呢?Logo后什么扣的?来RS看一下。RS看看。PYTHON3。然后呢,一点杠,一点脚本。
07:04
啊,Sorry,我这里没有保存,没有保存来重新运营一下,看这看这title是不是就得到了当前这个标签的结果啊,看这整个标签,包括它如果啊,如果这个标签里边有属性啊,比如说这个位置写了一个ABC等于一个等于二啥,我下我随便写啊,我随便写了啊对,然后呢,如果有这样的一个属性,那我们看一下在获取的时候能不能得到这样一个结果呢?来运行关系角度看看是不是全部都获取到啊,那么它得到的这个title就是我们当前的一个标签啊p title标签元素,那么接下来呢,我们如果想要获取这个,比如说啊,还有一种写法啊,R等于这个数跑点P标签,那么这样的话,获取当天页面中的第一个P标签元素,来我CTRLC复制用这个边讲还是有点。不太爽啊,不太爽,我们测试一下拍看行不行哈,对,因为这样老是在下面运行的话,还是。不太舒服啊,不舒服,来我们测试一下啊。看一下还有没有问题。还是有这个问题是吧,来重新看一下。
08:01
还有问题。我也是奇了怪了啊,奇了怪了,真是奇了怪了,我的天来运行我们脚本看一下下边的结果显示的正常啊,P标枪是不是得到了,得到了只不过显示点不对,那就关掉了啊,关掉了然回头我把它调整一下啊,我们再来看啊好是这样的,这样的话这页面得到了一个内容,这个内容呢,就是我们当前的一个P标签的结果,对不对?来运行当前脚本看一下啊诶。呃,R的一个结果是P标签,第一个P标签,P标签里边是不是还有个P标签呢?诶,如果我想获取P标签和它的那个叫class属性怎么办呢?AR等于我们的叫soup,点上这个P标签中号里边的叫什么,写上我们那个class c来运行我们的脚本,再来运行一下周林。保存啊,来运行一下诶,你看你是不是就得到了一个拍,当然它的结果是一个亲和对不对啊,结果是一个列表哈,但没有关系啊,没有关系啊,同样的,我们想得到那个叫我们那个,呃,叫谁来我们上面那个叫拍边上当中的那个ABC,我随便自己写的啊,那R等于我们的soup。Up点上我们的诶,Soup点上我们的title,然后中号写上这个叫ABCAABC这样的一个属性,那么接下来呢,看到内容,哎,得到了一个123啊,是不是这样一个结果啊,就这样一个结果啊好了,那么有有小伙问我说,诶说为什么我在用P标签的时候,得到的反而就是一个叫什么一个列表,然后获取ABC的结果的时候呢,就是一个啊一个什么啊,一个字符对不对,那我们来看一下哈,那是因为什么呢?因为class这个属性啊,可以存在多个值,可以存在多个值,所以这个时候呢,在获取的时候有这样的一个情况出现啊,有这样一个情况,好,那么这是我们当前的这个获取啊,一个元素当中的一个属性啊一个属性,好,那如果我想获取啊,比如说其他的内容,嗯,我们看一下,它有一个方法叫做。
09:36
呃,有个方法我记不太清了哈,来看一下,R等于我们的so,点上title title,点上那个文本,它叫做叫做T。T还是叫啊,是叫属性吧,我记得好像是啊,对,应该是这个属性,来看一下有没有问题啊对,来家看啊,是不是就能获取到这个标签当中的文本啊,获取标签的文本啊,这样的话,基本上我们通常情况下要么就获取属性,要么就获取文本,这两种就是我们最常用的啊,最常用的当然了,这个也只是通过target给的这个标签对象来获取我们的文档数据,那么同样的我们可以打开那个我们的文档来看一看啊,在这个里面啊,你看呃,super.title获取这个title元素对吧?然后呢,呃,super.p获取页面中的第一个P标签,P标签元素啊,它如果里边有其他元素的话,也能够获取啊,然后获取它里边的class属性,获取它里边的,呃,下边的这个P标签,里边的B标签对吧,然后获取啊,这个parent是负极,然后里边的name就标签名字啊来看一下哈,这个也打印一下吧,来R等于我们的SOSO,点上P标签,点上parent parent parent parentt啊没错,好点name,然后看一下当前这个元素的获取结果,好保存一下,以后呢,我们在这里呢,重新用一下我们脚本来body啊,就是标签的那个名字啊,Name就是标签的名字,好这样的话就是。
10:45
通过我们target的标签来获取到元素对象,当然除了这样的一个内容获取以外呢,它还有别的方法,比如说啊去搜索,那我们在这里呢,直接给大家去讲解一下吧。啊,除了就是你可以除了通过target的标签来获取元素以外呢,啊,你还可以通过搜索啊,通过搜索获取页面中页面中啊啊这个标签啊标签啊这个元素吧,啊元素好,那么我们来看一下哈,它是怎么获取的哈,怎么获取的呃,搜索的话它有两个方法,一个叫泛的,一个叫泛的奥FD小线小啊。
11:19
啊,这两个方法啊,那么我们分别来看一下啊,首先这个看一下,我们看一下啊呃,首先第一个啊,Find和all都可以搜索多个条件啊啊呃,可以有多个搜索条件来进行叠加,比如说find a啊A标签,然后它的ID得是另一个3CLASS得是这个对吧?然后呢,他们返回的就find返回的是一个BS4叫element.target的对象,然后这个对象呢,可以进一步的搜索,如果有多个满足的结果,Find的只返回第一个啊,如果没有就返回一个档,也就是说它根据你的要求去搜索你想要的数据,如果有就返回,如果没有就返回了到啊如果有多个,它也只返回第一个,那么翻到二呢,是也是啊,也是我们的这个叫什么,每一个元素标签对象,然后组成的一个历史的,不管找到几个,或者说没有找到它返回的都是一个列表啊,都是一个列表,那么来看一下下面的一个案例啊,数法点放到O,那么找到页面中所有的A标签元素啊,来看一下这类的。
12:07
来呃,Print,我们当前的这样吧,R等于我们当前的soup so up,点上我们的find啊,Find out人啊这样吧,先用find吧,啊find找到A,那么print看我们当前的这个R类一个结果哈,运行结果来保存一下,运行我们当前的脚本来看这它只获取到了第一个啊第一个标签看到吗?啊第一个标签好,那如果同样的啊同样的过程,我们换成换了O的写法来下线眼O的写法来保存,再运行我们脚本总体看到啊看到它是一个集合,看到了啊是一个列表啊列表集合,那么这里面就包含了页面中所有啊出现的这个A标签,所以说起来的话,它操作起来是不是也是变得很方便,对不对啊,变得很方便啊对,好,那这是一个呃搜索啊那么继续。你除了这样操作搜呃搜索以外,你还可以诶按照ID属性来搜索,比如说find的ID等于LINK3的啊,这样的结果也是可以的啊啊或者是class啊,文件也可以获获取啊,获取以后你要获取这个文本内容好用get上线text来获取,比如说。
13:03
啊,比如说我们刚才的这个,诶操作里面呢,我们要获取这个A标签啊,第一个我们就获取到A标签是吧?好,那么在这里呢,获取这个结果就是R点上我们的一个get下线T括号啊,方法或属性都是可以的啊对,这个位置我记得好像是写方法写属性都行,我们来测一下啊对诶。呃,他的标签的结果。Get t,诶,怎么没反应来运行到我们总理。这样的我看一下啊,诶诶诶我们用啊在这在这看一下啊。仅可见的文本内容仅可见的内容。他获取的这个是。Sorry,我们看一下有什么问题吗?呃,比如说这样,我获取页面中的,把这个移动到下面啊,移动到移动到下面的。诶,我怎你移动不了这个,好看到X剪切能看到这样啊,我们在这里呢,获取这个R等于我们的so,点上这个叫find括号,搜索页面中的title,你看你你可以,你可以不用那个什么,直接找也行,直接输入也行啊输pire,然后获取之后来保存运行我们当前的脚本啊来看一下总理,好来获取到title标签是吧,好title标签获取它的文本啊,来运行。
14:16
来,走,你走,你快点。哎,这个文本属性不对吗。T啊T啊,来看一下中尼获取。诶,这个文档里边有问题吗?我看一下啊,Get下游线。我感觉应该没有问题,为什么这个地方返回的不对呢,如果直接获取啊,如果直接拉获取呢,他是用用他应该也可以啊来。看一结果,看一下结果,但是他也是只是获取了整个标签,整个标签。嗯呀,这个方法这样获取的话还有些问题哈,来我们去看一下那个叫什么,他光论党给出的这个说明和介绍啊,来找一下有没有啊,呃,这样我不能让他翻译啊,我们得看原版啊,得看原。嗯,标签的名字是吧?啊然后呢,呃,找到所有的A标签,然后呢,从获取到的文档当中获取它的这个叫重复当中获取所有的文字内容啊get X对吧?然后呢,我不想用那么多,那我可以用一个什么用个别的话我看一下啊,在这边去找一下,嗯过滤器,过滤器的方法,Name,然后T参数。
15:17
FIND2FIND来这里有一个find的方法,这是一个使用啊好find的方法,然后find到二的区,呃,返回结果是包含一个元素的。呃,包含元素里边find直接返回的一个结果,Find out,没有找到目标返回空,然后find找不到返回量,呃,下边呢是。Had title啊title啊,Find title,然后找到这里没有没有解析。那之前的话,我们用这个方法都是可以的啊,看来它是应该是有问题啊,那之后下一个上一个啊,还有它的实是用法,诶不对啊。R点,然后把上个读书去掉啊,没有什么影响。嗯,来点find啊,等于RR的结果。R的结果我们刚才打印过了是吧?来我们口上看一下你们的R的结果,R的结果然后呢,再看一下。
16:03
看一下它的类型啊,我估计现在是它的类型有问题。来运行我们脚本重新运行一下啊,看这。嗯,证明它是一个叫什么BS4点element.tag就是一个标签是吧,一个标签的话,那我用T来获取它的属性应该是没有问题的。哦。说我打印的问题来,应该是R等于R点这样吧。r.tit。我代码写的逻辑有问题啊对。我啊点错了,来打开看一下。看上边这个是不是没问题啊,是不是没问题啊,下边这个下边这个是因因为一直打的R嘛,对吧?好,那么除了这个以外,还就刚才给大家介绍方法叫r.get下线TFTT括号啊,这样也是可以的,然后还有一个方法就是你把它改成属性就行,记得时啊来运行一下,知们大不了报个错吗?嗯,Print r有错误。啊,这。多商量一个括号啊,对外运行转度重力,看看第一个第二个啊,然后第三个是不是都获取到了我们当前的这个啊内容对吧?啊,只不过第三个获取的结果呢,并不是你想要的一种形式对吧?啊,它不是一个普通的文们的形式了啊,也就是说前面这两种形式都是没有问题的啊,这是通过搜索来获取页面中的这个元素啊,这是我们当前的啊,这个对对风速度它的一个呃操作啊,那么当然这里边我给你讲的第一种就是通过标签,他给的标签来获取文档和它对应的数据,第二个呢,是通过搜索的方式,用find和find out的结果来进行操作,然后呢,除了这个以外,还有第三种形式啊来我们直接在这里呢,也给大家去讲一下啊,第三种形式。
17:28
第三种形式呢,是使用这个叫CSS选择器选择器的方式,那么CS选择器相信各位小伙伴在我们,呃,这个叫参加过我们相关的CS的这个啊,就是你进行过相关的CS开发的话呢,那么你找这个用CS选择器,应该说是呃,怎么说呢,那应该说是得心应手哈,对你来说这是一件好事是吧?来看一看啊下边嗯,W啊,那么如果你有前端的开发经验,对CS的选择器比较熟的话,那么BS也为你提供了相应的一些方法哈,然后呢,CS选择器如果你不太熟悉的话,那么这里呢,给大家啊,找到了一个叫W3C school的一个专门讲赛选择器的这么一个,呃呃,一个网站啊,那大家可以到上面去学习一下,做一个了解,那么首先看一下啊,来这边。
18:07
那么通过target的标签,嗯,寻找方画,就大家知道我们这个CI选择器有这几个方法啊,首先它第一个方法是CI,呃,CIS选择器啊,就是通过哎,通过标签,通过标签标签选择哎标签。选择元素,选择元素对吧?啊,这是一种,然后呢,还有一个叫通过啊class类class类名类名获取类名获取元素对吧?然后还有一种呢,是通过DD名D名获取元素获取元素,然后呢,还可以就是包括通过这个空格空格啊。空格叫做层级关系啊,层级关系啊,获取元素,然后还有什么,呃,反正就几个常用的常规的啊,通过我们的这个叫做逗号啊对叫做逗号,逗号并列啊并列。并列。列并列并列关系啊,获取元素,然后之呃之后呢,还有什么通过标签class列名,ID空格逗号啊,还有一个叫做通过我们的这个这个坐标。
19:08
呃,叫哎,还有什么呢?ID啊,组合查找,组合查找就是我们的那个叫什么啊,空格嘛啊空格叫层级关系啊,然后直接指标签,哎,对,还有还有这种啊,叫直接标签啊,然后其他的还有兄弟标签啊,通过其他方式吧,这里我就不写了哈,那么现在我们看一看第一个通过这个标签来获取元素,那怎怎么破解R等于我们刚才的这个叫soup soup点上一个C啊,Select select括号,然后这里面呢,就可以写标签了,那么开头啊,然后print看一下我们当前的这个R啊,以及R对应的啊,我然后获取它的文本对吧?TT来看一下。嗯,Sorry,这里不能运行对吧,然后我在这里好。Tribu error least object has no tribu times啊,他当年获取的结果是一个列表,对不对啊,它没有没有办法直接给你得到这么一个啊,一个一个一个叫么啊,一个文本内容啊对,它是一个列表,看到吗?啊,它的结果是一个列表,虽然只找到了一个元素对吧,但它结果也是一个列表哈,对啊,然后下面呢,是通过列名来,嗯,通过列名那print看一下。
20:04
当然我们去看一下它这个里边有多少是有类是吧,So up数跑点啊括号通过叫什么呢?咱们的这个这个这个。我我我又给忘了,嗯,来看这这个这这里边类名类名class的一态度是吧,嗯,好这样。Class等于title啊,那这个位置通过类名啊来获取的话,怎么写呢?好,那你在这里啊,点点啊这个方式title就可以了,来看一下啊,运行我们当前的脚本看一看。来走你诶,你看它是不是得到了一个P标签对不对啊,P标签里边的class title,当然他如果有动物的话,依然也能够获取啊,依然也可以获取到,然后把这个R干掉,把这个R干掉放到最后面去,好,然后呢,还可以通过这个叫ID名来获取print,我们当前嗯,诶不是啊,是R等于我们的so,点上select括号,然后呢,这个ID有很多的元素啊,比如说。对呀,它只有一个哦对对,ID只有一个啊,它是不会重复的,好不会重复的话,那我们就这么写来写一个井号,然后找到这个元素,那么接下来呢,打印这个内容啊困的看一下结果,它这个结果它依然啊对,在这里面它依然结果是一个列表,就是反问反那反回的结果全是一个列表啊,全是一个列表啊,那么现下来还有通过空格层级关系啊,那就是啊也叫组合查询,那点谁来括号,我想找这个S里面里边的body里边的P标签啊,然后呢,来看一下页面。
21:18
元素的获取。这个空格就是层级关系嘛,对吧,那整个这个就是P标签对不对,然后这个也是P标签,只不过P标签里边是不是还有包裹的这个好多A标上呢,它通通都能够获取到啊,通通够获取到好然后接下来通过逗号啊,逗号并列获取,那么so up.select select,那我怎么获取呢?我获取这个叫通过P,呃,第一个是获取PYR是吧,然后嗯,叫逗号并理啊并列获取,我还要获取这个叫啊叫点title.tt。Title我们已经有了是吧?好,那这样再获取来看一下这个结果是不是至少应该有两个,至少应该有两个,因为我们页面中有有哈,对来title是一个对吧,P标上啊,别获取P标来获取A表示嘛,来A表示。B标签有点多啊对,来看一下这个结果好title对吧,然后A这也是A对吧,这也是一个标签,好这就是通过并列啊逗号并列关系来进行获取,好那么获取完成以后啊,你要想获取,我们就是除了这个这个这几个获取方法之后呢,你想获取到诶其他的形式也都有,你看啊,他有查找兄弟,兄弟节点,然后呢,查找叫什么啊,直直接指标签来进行查找,还有就是通过属性来查找,以某某某开头啊,你的这个文档里边以某某开头是吧?还有星号有包含对不对啊包含的,然后还有就是啊属性指定属性名啊,然后包括查找的啊,查找第一个元素是select下键换啊这种方式来进行获取就可以啊都行,那这个就是我们当前嗯,贝雷夫束缚它的一个基本操作和使用,然后呢,当然了,在上面的过程当中呢,比如说这个搜索方法,我给你介绍了两个,那其实它还还有很多,你看呃,Find or next啊find next啊,Next是吧,啊返回节点节点后所有符合条件的节点,那返回节点后第一个符合条件的一个节点啊,很多方法啊对呃,在他的那个官网呢,都有详细的说明和文档的一个介绍,而且呢,由于它这个挂。
22:59
文档呢,基本上啊,基本上大家看起来呢,这个文档的内容你可以翻译一下哈,我记得好像不翻译,应该就中文。
23:06
我看一下啊index.zzs啊这个本身就中文的,那这样的话中文档看起来我们就不方便了,它的东西非常多啊,我要挨个给大家见到的话,显然就不太合适了啊对就你就记住我们当前掌握啊对对费数缚的三种方式,就是使用它的三种方式,第一种就是通过啊tIgEr的标签直接来获取元素,第二种呢,通过搜索来获取,就是你找不到的话,你就搜索,如果搜索都搜不到怎么呢?诶那你就用C来的选择器啊,这三种方式都非常灵活,那么这样的话呢,极大的简化了我们在操作这个叫什么来操作我们这个页面的一个过程啊,获取页面元素的一个过程,好,这就是我们当前的一个啊BS4,那么课下呢,在呃小伙伴呢,可以把这个内容呢,好好的做一个练习啊,以便能够快速的掌握啊,我们当前的这个啊,BS4的一个基本使用和操作啊,那文档呢,也留给大家啊,大家如果有什么目的的话,也欢迎大家及时留言和评论好了,那么这节课呢,我们就先到这里,下节课我们再见。
我来说两句