根据BeautifulSoup
documentation,可以使用如下代码获取tag属性的值:
from bs4 import BeautifulSoup
soup = BeautifulSoup('<b class="boldest">Extremely bold</b>')
tag = soup.b
tag['class']
理论上(也就是说,根据文档),输出将是:
u'boldest'
但是,当我执行上面的代码时,它会输出:
['boldest']
那么,有什么我想念的吗?如何将标记的属性内容作为普通的unicode字符串获取?
答案 0 :(得分:1)
tag['class'][0]
标记中可以有多个类,这就是它返回值列表的原因。如果你确定那里只有一个类 - 只需从列表中获取第一个元素。
答案 1 :(得分:1)
请查看文档中的此部分:
多值属性
HTML 4定义了一些可以包含多个值的属性。 HTML 5删除了其中的几个,但定义了一些。最常见的多值属性是类(即,标记可以具有多个CSS类)。其他包括rel,rev,accept-charset,headers和accesskey。 Beautiful Soup将多值属性的值显示为列表:
tag['class'][0]
将为您提供字符串