gpt4 book ai didi

python - 如何处理 colspan == '' 的 td 标签?

转载 作者:行者123 更新时间:2023-11-30 22:59:29 28 4
gpt4 key购买 nike

我正在尝试使用 BeautifulSoup 从 html 源中提取数据。这是来源

<td class="advisor" colspan="">

这是我的代码:

soup = BeautifulSoup(html, 'html.parser')
tds = soup.find_all('td')

for td in tds:
if td["colspan"] == '':
col = 0
else:
col = int(td["colspan"])

但是,我收到此错误:

ValueError: invalid literal for int() with base 10: ''

我知道这个错误意味着 '' 无法转换为整数,但为什么我的 'if' 不起作用?我觉得这种情况应该去

col = 0

而不是

col = int(td["colspan"])

最佳答案

我建议您按如下方式使用异常处理:

from bs4 import BeautifulSoup

html = """
<td class="advisor" colspan="2"></td>
<td class="advisor" colspan=""></td>
<td class="advisor" colspan="x"></td>
"""

soup = BeautifulSoup(html, 'html.parser')
tds = soup.find_all('td')

for td in tds:
try:
col = int(td["colspan"])
except (ValueError, KeyError) as e:
col = 0

print(col)

这将显示以下内容:

2
0
0

使用 Python 3.4.3 进行测试

关于python - 如何处理 colspan == '' 的 td 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35741413/

28 4 0