我的BeautifulSoup请求返回以下内容:
<td align="left">
<div><div class="dgreen"></div><div class="dorange"></div><div class="dred"></div><div class="dorange"></div></div>
</td>
使用Python BeautifulSoup,您将如何获得“ dgreen”,“ dorange”,“ dred”标签? 因为这些不是文本,所以我无法获取它们并将它们存储在列表中。
谢谢。
答案 0 :(得分:0)
要获取属性类中的单词
获得div后,进行迭代
divs = soup.find_all("div", {"class": True})
for div in divs:
print(div.attrs["class"])
答案 1 :(得分:0)
我将select与选择器一起使用,以确保div具有一个类。您可以使用set获得唯一的
from bs4 import BeautifulSoup as bs
html = '''
<html>
<head></head>
<body>
<div>
<div class="dgreen"></div>
<div class="dorange"></div>
<div class="dred"></div>
<div class="dorange"></div>
</div>
</body>
</html>
'''
soup = bs(html, 'lxml')
labels = [item['class'] for item in soup.select('div[class]')]
print(labels)
result = set(map(tuple, labels))
print(result)