要使用BeautifulSoup的find_all方法提取只有class数据,可以使用attrs参数来指定要匹配的属性。具体的解决方法如下所示:
from bs4 import BeautifulSoup
html = """
First div
Third div
"""
soup = BeautifulSoup(html, 'html.parser')
divs = soup.find_all('div', attrs={'class': True})
for div in divs:
print(div.text)
输出结果:
First div
Second div
Third div
在上述代码中,我们首先导入BeautifulSoup库,并定义了一个包含class属性的HTML字符串。然后,我们创建一个BeautifulSoup对象,并使用find_all方法来查找所有带有class属性的div元素。这里的attrs={'class': True}
表示只要div元素有class属性即可匹配。
最后,我们使用for循环遍历所有匹配到的div元素,并打印它们的文本内容。输出结果即为只含有class数据的div元素的文本内容。