findAll(tag,attributes,recursive,text,limit,keywords)
find(tag,attributes,recursive,text,keywords)
标签参数tag,他可以传一个标签的名称或多个标签名称组成的Python列表做标签参数.
bsObj.find_all({'h1','h2','h3'})
属性参数attributes使用一个Python字典封封装一个标签的若干属性和对应的属性值.
bsObj.find_all('span',{'green','red'})
在运行带有class的属性查找是会报错:
bsObj.find_all(class='green')
不过,可以用Beautiful提供的臃肿的方案:在class后面加一个下划线:
bsObj.find_all(class_='green')
与lambda一起使用
soup.find_all(lambda tag: len(tag.attrs) == 2)
会找出例如下面的标签:
<div class='body' id='content'></div> <span style='color:red' class='title'><span>
在BeautifulSoup这里面使用lambda表达式选择标签,将是正则表达式的完美代替方案.