美丽的汤提取标签属性,然后find_all具有多个属性

时间:2018-05-15 16:20:02

标签: python-3.x beautifulsoup

我正在尝试提取在同一页面上多次出现的相同信息。我能够找到适合的标签,如下所示:

<div class="title" style="visibility: visible">

由此,我想提取:

 class="title"

style="visibility: visible"

然后做一个:

find_all('div),{'class':'title,'style''visibility: visible'}

这将在许多情况下发生,因此我无法对其进行硬编码。有时标签会有一个类,有时候是一个类和样式....有时更多......

这可能吗?

真的很感激任何方向。

非常感谢,

1 个答案:

答案 0 :(得分:0)

  

此外,如果您想在内容中添加多个find_all,则可以使用div方法

from bs4 import BeautifulSoup
import json
data = """<div class="title" style="visibility: visible"> </div>"""
soup = BeautifulSoup(data, 'html.parser') #parse content to BeautifulSoup Module
div_content = dict(soup.find("div").attrs)
print("div_content   :  {0}".format(div_content)) #div content
print("style_content :  {0}".format(div_content.get("style"))) # style attribute
print("class_content :  {0}".format(div_content.get("class")[0])) # class attribute

输出:

div_content   :  {u'style': u'visibility: visible', u'class': [u'title']}
style_content :  visibility: visible
class_content :  title