导入BeautifulSoup库:
from bs4 import BeautifulSoup
创建BeautifulSoup对象,将HTML文档作为参数传入
html_doc = """
<html>
<body>
<span>Apple</span>
<span>Banana</span>
<span>Orange</span>
</body>
</html>
"""
soup = BeautifulSoup(html_doc, 'html.parser')
使用find_all方法找到所有的标签,并遍历它们,获取内容:
span_tags = soup.find_all('span')
for span in span_tags:
print(span.text)
find_all 方法的其他属性
find_all()
方法是BeautifulSoup库中最常用的方法之一,它用于查找HTML文档中符合指定条件的所有标签,并返回一个包含这些标签的列表。
除了可以传递标签名称作为参数之外,
find_all()
方法还支持其他一些属性和参数,用于更精确地定位和过滤标签。下面是一些常用的属性和参数:
-
name
:指定要查找的标签名称,可以是字符串或正则表达式。例如,
soup.find_all('span')
将返回所有的
<span>
标签。 -
attrs
:指定要查找的标签的属性和属性值。可以传递一个字典作为参数,字典的键是属性名称,值是属性值。例如,
soup.find_all(attrs={'class': 'my-class'})
将返回所有具有
class
属性值为
my-class
的标签。 -
text
:指定要查找的标签的文本内容。可以传递一个字符串或正则表达式作为参数。例如,
soup.find_all(text='Hello')
将返回所有文本内容为
Hello
的标签。 -
limit
:指定返回的标签数量的上限。可以传递一个整数作为参数。例如,
soup.find_all('span', limit=3)
将返回最多3个
<span>
标签。 -
recursive
:指定是否递归查找子标签。默认为True,表示递归查找。如果设置为False,将只查找直接子标签。例如,
soup.find_all('span', recursive=False)
将只查找直接子标签中的
<span>
标签。
这些是
find_all()
方法的一些常用属性和参数。你可以根据需要使用它们来更精确地定位和过滤HTML文档中的标签。