目录
四种类型
在导入一个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