bs4 库 BeautifulSoup子模块中最常用的findAll和find函数:
根据标签的不同属性,使用这两个函数对HTML页面过滤,查找需要的标签组或单个标签。
findAll(tag,attribute,recursive,text,limit,keywords)
find(tag,attribute,recursive,text,keywords)
#标签参数和属性参数最常用
标签参数tag:传一个标签的名称或多个标签名称组成的python列表做参数
# 返回HTML文档中所有标题标签的列表
findAll({'h1','h2','h3','h4','h5','h6'})或 findAll(['h1','h2','h3','h4','h5','h6'])
属性参数attribute:用python字典封装一个标签的若干属性和对应的属性值
findAll('span',{'class':{'green','red'}})
#返回HTML文档中红,绿两种span标签
递归参数recursive,默认是True即查找所有标签含子标签到底;若是False就查找一级标签
文本参数text:通过标签的文本内容匹配
findAll(text='the prince')
范围限制参数limit
关键词参数keyword
BeautifulSoup库的对象:
1、BeautifulSoup对象 bsobj
bsobj = BeautifulSoup(html,'html.parser')
2、标签Tag对象,bsobj通过findAll和find或直接调用子标签获取的一列对象或单个对象
3、NavigableString对象用来表示标签里的文字,不是标签
4、Comment对象查找HTML文档的注释标签
导航树(Navigating Trees):
可通过标签在文档中位置来查找标签,HTML导航树有纵向导航和横向导航
子标签children、后代标签descendants、兄弟标签如tr.next_siblings