0

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

from bs4 import BeautifulSoup

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

tag['class']

理论上(也就是说,根据文档),输出将是:

u'boldest'

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

['boldest']

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

4

2 回答 2

1
tag['class'][0]

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

于 2013-02-12T09:58:41.590 回答
1

检查文档中的此部分:

多值属性

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

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

于 2013-02-12T10:01:04.397 回答