python - 使用 BeautifulSoup 直接从 HTML 中提取数据

标签 python html css web-scraping beautifulsoup

我有以下 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/

相关文章:

python - 将代码添加到 __init__.py

c# - 如何在C#中模拟元组和集合?

python - discord.py 中的错误处理问题

python - 使用 qt-designer 和 pyqt 创建简单的表单

Jquery Accordion 删除换行符

javascript - 如何从单页上的 10 张图片中只旋转一张图片

html - 容器外的 child

html - 将元素固定到容器底部

html - 如何添加水平子菜单?

jquery - 添加图像时 Bootstrap Carousel 导航消失