我有以下 HTML 数据。我需要使用 BeautifulSoup4 从中获取“2”:
<td rowspan="2" style="text-align: center; vertical-align: middle;">
<small>3</small>
</td>
我试过:
k.find('rowspan')['style']
产生异常的原因:
Traceback (most recent call last): File "", line 1, in TypeError: list indices must be integers, not str
是否可以使用 BS4 来实现?或者我应该使用不同的库直接提取 CSS 吗?
最佳答案
你为什么使用 find("rowspan")
?您不是在搜索 <rowspan>
标签。
find
method传递单个字符串参数时,根据标签名称搜索标签。
你应该使用的是这样的,这意味着“找到第一个 <td>
属性值为 rowspan="2"
的标签,并返回其 style
属性的值”:
k.find('td', rowspan="2")['style']
参见 "Kinds of filters"有关指定要搜索哪些标签的各种方式的文档部分。
关于python - 使用 BeautifulSoup 直接从 HTML 中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31349587/