BeautifulSoup的补充知识

本文介绍了BeautifulSoup解析HTML文档的基本操作,包括四种类型:Tag、NavigableString、BeautifulSoup和Comment。讲解了如何遍历文档内容,以及通过find_all、kwargs、text、limit参数和css选择器进行搜索。此外,还提到了自定义函数搜索和正则表达式的应用。
摘要由CSDN通过智能技术生成

四种类型

在导入一个html文档后,可以通过BeautifulSoop进行解析,并将解析后的内容进行打印输出。
基本思路
引入bs4
然后打开要解析的网页,将网页内容赋给变量,然后通过BeautlfulSoup()进行解析,括号中要写入待解析的网页名称和解析器,如果是网页就用html.parser
再然后就可以对解析到的内容进行选择输出了。

1.Tag标签

from bs4 import BeautifulSoup
file = open("./baidu.html","rb")
html = file.read()
bs = BeautifulSoup(html,"html.parser")
#print(bs.title)
#print(bs.a)  #只能打印输出第一个符合条件的标签和内容
#print(bs.head)
print(type(bs.head))  #可以打印bs.head的类型,显示是Tag,一个标签

可以尝试输出html中的各种标签内容,在打印的结果处可以发现,他打印返回的是标签名及标签中的内容
在尝试打印标签的类型的时候,可以看到输出的就是Tag。

NavigableString 标签中的内容(字符串)

在获取到标签之后,还能继续对标签中的内容进行细分,并不是所有内容都是我们需要的,我们可以将标签进行拆分。
比如只输出标签中的内容,这时就可以用bs.head.string

from bs4 import BeautifulSoup
file = open("./baidu.html","rb")
html = file.read()
bs = BeautifulSoup(html,"html.parser")
print(bs.title)  #标签及内容
print(bs.title.string)  #标签中的内容
print(type(bs.title.string))  #NavigableString

经过打印输出可以发现bs.title输出了整个标签,而bs.title.string中只输出了标签中的内容,用type查看他的类型,显示的是NavigableString。
而我们要选择输出标签中的所有属性,可以使用bs.a.attrs

from bs4 import BeautifulSoup
file = open("./baidu.html","rb")
html = file.read()
bs = BeautifulSoup(html,"html.parser")
print(bs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值