600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 三 “指哪打哪”

三 “指哪打哪”

时间:2024-02-21 23:05:59

相关推荐

三 “指哪打哪”

三、指哪打哪

前言一、解析网页。1.利用审查元素定位代码代码 二、逐行解析代码1.BeautifulSoup的安装2.BeautifulSoup解析器2.find的用法 感谢

前言

在前一章中,我们已经编写了一个简单的爬虫,这一章我们将深入学习如何解析网页和存储网页,


一、解析网页。

还是以哔哩哔哩为例,最近国漫《灵笼》第一季刚刚完结,我们就以这个动漫为例向大家演示如何解析网页。

如图,假设说我想获取《灵笼》的简介 名字等 那么首先需要获取此网页源码,然后解析网页。

url:/bangumi/play/ss22088/from=search&seid=503303968644820581

把第一章代码的网址改一下就可以获取此页面源码

然后我们进行第二步解析网页

1.利用审查元素定位代码

可以看见右侧有一行代码被选中了,代码开头有一个小三角,听我的 点它!

然后这一部分对应的就是这一块的代码,当鼠标移动到对应代码时,对应样式也会被选中。

可以看见我们现在已经找到了简介所在位置 。接下来提取它就可以了。这里要讲一点前端的知识。

前端网页就像一个大沙盘,里面由一个个小物体堆积折叠而成。其实是一块一块的,也就是一个个div 拼接在一起的,一个大的div里面可能还有小div,还有一些其它元素,类似嵌套。但是不同的div是要互相区分的,用什么区分呢 ?所以每个div或者元素都有一个id或者编号,是独一无二的,编写前端的程序员就用这个区分不同的元素。

从上面图图片可以看见,有简介的那一行有

<span class="absolute">

这里 就代表简介姓span 名class=absolute

那么我们直接提取这个里面的所有不就可以拿到简介了么?

代码

import requests #导入requests包from bs4 import BeautifulSoupurl="/bangumi/play/ss22088/?from=search&seid=503303968644820581"#把bilibil的网址复制过来req=requests.get(url)#用get方式拿到网页req.encoding='utf-8'#规定编码方式为utf-8soup=BeautifulSoup(req.text,'lxml')#使用BeautifulSoup的lxml解析网页description=soup.find('span',class_="absolute")#搜索每一个span元素拿到class为absolute的内容。print(description) #打印内容

结果

<span class="absolute">不久的未来,人类的世界早已拥挤不堪,迈向星河、寻找新家园的行动迫在眉捷。正当一切有条不紊的推进之时,月相异动,脚下的大地爆发了长达数十年、剧烈的地质变化,人类在这场浩劫中所剩无几。当天地逐渐恢复平静,人们从废墟和深渊中重新踏上了这片熟悉而又陌生的大地。习惯了主宰一切的我们是否还是这个世界的主人?</span>

这样就拿到了内容。

二、逐行解析代码

1.BeautifulSoup的安装

cmd输入

pip install bs4

2.BeautifulSoup解析器

BeautifulSoup支持python标准库中的HTML解析器,还支持一些第三方解析器,如下表。

2.find的用法

BeautifulSoup 里有find和find_all具体在下一章进行讲解


感谢

部分资料来源于书籍或者网络 在此表达由衷的感谢

另外对于前端知识笔者了解的并不透彻 如有更好的方式解释还请留言

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。