【问题标题】:How would I extract the value of this HTML element attribute with Beautiful Soup?如何使用 Beautiful Soup 提取此 HTML 元素属性的值?
【发布时间】:2012-01-01 13:51:41
【问题描述】:

我正在开发一个小工具来抓取网页。我正在使用Beautiful Soup。我想从页面中获取类 ID。 HTML 代码如下所示:

<span class='class_id' id='New_line'></span>

如何获得class_id

【问题讨论】:

    标签: python html screen-scraping beautifulsoup web-scraping


    【解决方案1】:

    此答案是指未提及 beautifulsoup 的旧版本问题

    您可以使用 LXML 并遍历所有元素,要求它们提供“类”属性的值。 LXML 是一个用于解析 XML 文档的库。

    例如:

    from lxml import etree
    root = etree.parse(filename).getroot()
    
    for span in root.iterdescendants("span"):
        cls = span.attrib.get("class")
    

    【讨论】:

    • 我正在使用 beautifulsoup 库来解析 HTML。你认为我可以用它来获取类属性吗?
    • 也许您在here 中查找“标签的属性”。
    【解决方案2】:

    下面的例子对你有帮助吗?

    >>> from BeautifulSoup import BeautifulSoup as B
    >>> s = B("<span class='class_id' id='New_line'></span>")
    >>> s.span.attrs
    [(u'class', u'class_id'), (u'id', u'New_line')]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-07
      • 2021-01-02
      • 1970-01-01
      • 2018-05-30
      • 2020-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多