目录
beautifulsoup4是Python数据包中专门用于数据解析的数据包,它能够匹配网页原码中的标签页,从而从网页中获得我们想要的数据,本章节我们来讲述bs4的一些简单的使用。
一.find方法的使用
#首先我们打开一个text.html文档,打开的模式为只读模式,其编码为utf-8
fp=open('./text.html','r',encoding='utf-8')
#使用我们的BeautifulSoup函数将我们的文本进行处理。
soup=BeautifulSoup(fp,'lxml')
#找到第一次出现的a标签的位置
print(soup.find('a'))
使用我们下面的代码与上面的功能时等价的
print(soup.a)
当然,在find方法使用的时候,还可以指定我们的class参数,注意,在我们的class_后面一定要加上“_”,否则就会报错
print(soup.find('div',class_="special-column-bar"))
二.finall的使用
使用find_all方法,能够找出我们所有满足条件的标签页,并且将所有符合条件的结果组合成一个列表并返回。
print(soup.find_all('div',class_="span"))
三.获取标签页中的文本
获取标签之间的文本数据,可以使用下面的方法
soup.a.text/string/get_text()
其中soup.string只能获取该标签下直系文本下的内容。
print(soup.script.string)
四.获取标签当中的属性值
下面的代码中我们能获取到整张网页中的body标签页中img标签的src属性值
print(soup.body.img['src'])
五.获取多层层标签层级下的具体内容
我们先用select函数寻找span标签,然后再在我们的span标签下匹配p标签
print(soup.select('.span >p'))
接下来我们进行一下对比
print(soup.select('.span'))