【问题标题】:Get the content of tag's attribute as a unicode string in BeautifulSoup 4在 BeautifulSoup 4 中以 unicode 字符串形式获取标签属性的内容
【发布时间】:2013-02-12 09:53:24
【问题描述】:

根据BeautifulSoup documentation,可以使用如下代码获取标签属性的值:

from bs4 import BeautifulSoup

soup = BeautifulSoup('<b class="boldest">Extremely bold</b>')
tag = soup.b

tag['class']

理论上(即根据文档),输出将是:

u'boldest'

但是,当我执行上述代码时,它会输出:

['boldest']

那么,我有什么遗漏吗?如何将标签的属性内容作为纯 unicode 字符串获取?

【问题讨论】:

    标签: python attributes tags beautifulsoup


    【解决方案1】:
    tag['class'][0]
    

    标签中可以有多个类,这就是它返回值列表的原因。如果您确定那里只有一个类 - 只需从列表中获取第一个元素。

    【讨论】:

      【解决方案2】:

      查看文档中的此部分:

      多值属性

      HTML 4 定义了一些可以有多个值的属性。 HTML 5 删除了其中一些,但定义了更多。最常见的多值属性是类(即一个标签可以有多个 CSS 类)。其他包括 rel、rev、accept-charset、headers 和 accesskey。 Beautiful Soup 将多值属性的值呈现为列表:

      tag['class'][0] 会给你字符串

      【讨论】:

        猜你喜欢
        • 2016-02-20
        • 1970-01-01
        • 2010-10-25
        • 2011-09-30
        • 2014-04-19
        • 1970-01-01
        • 2019-08-12
        相关资源
        最近更新 更多