提取' class'的价值在使用Beautiful Soup的div标签下

时间:2018-05-19 21:56:18

标签: python-3.x beautifulsoup

使用Python 3.6.5。

<div class="abcabcd13"></div>  
<div class="abcabcd74"></div>  
<div class="abcabcd123"></div>  

以上是我使用BeautifulSoup 4设法提取的html代码,我设法将它们的列表分配给变量:     x = soup.select('div[class*=abcab]'),,用于创建<div class="abcabcd13"></div>等元素列表。我如何只提取类值?提前谢谢。

2 个答案:

答案 0 :(得分:0)

这就是我刚刚做到的:

from bs4 import BeautifulSoup
page = """<div class="abcabcd13"></div>  
          <div class="abcabcd74"></div>  
          <div class="abcabcd123"></div>  """
soup = BeautifulSoup(page, 'lxml')
divs = soup.findAll("div")
classes = []
for y in divs:
    classes.append(y["class"])
print(classes)

打印了三个班级。

答案 1 :(得分:0)

您可以尝试使用选择器来获取所需的输出:

from bs4 import BeautifulSoup

page = """\
<div class="abcabcd13"></div>  
<div class="abcabcd74"></div>  
<div class="abcabcd123"></div>  
"""
soup = BeautifulSoup(page, 'lxml')
classlist = [' '.join(item.get('class')) for item in soup.select("[class^='abcabcd']")]
print(classlist)

输出:

['abcabcd13', 'abcabcd74', 'abcabcd123']