You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用BeautifulSoup仅修改HTML中td元素的background-color样式?

用BeautifulSoup修改HTML元素的background-color样式

嘿,我懂你想直接通过类似字典访问的方式修改style里的background-color——可惜BeautifulSoup默认把style属性当成普通字符串处理,不是可直接操作的字典。不过咱们用点小技巧就能实现你想要的效果,全程只用BeautifulSoup就行:

完整实现代码

from bs4 import BeautifulSoup

# 你的原始HTML代码
html_td = '<td style="font-size: .8em; font-family: monospace; background-color: rgb(244, 244, 244);"> </td>'

# 解析HTML
soup_td = BeautifulSoup(html_td, "html.parser")
td_element = soup_td.td

# 步骤1:把style字符串解析成键值对字典
style_properties = {}
for style_part in td_element["style"].split(";"):
    # 跳过空的部分(比如最后一个分号后的空内容)
    if style_part.strip():
        key, value = style_part.split(":", 1)
        style_properties[key.strip()] = value.strip()

# 步骤2:修改background-color属性
style_properties["background-color"] = "red"

# 步骤3:把字典转回style字符串,重新赋值给元素
td_element["style"] = "; ".join([f"{k}: {v}" for k, v in style_properties.items()])

# 输出修改后的结果
print(td_element)

效果说明

运行这段代码后,你的<td>元素会变成:

<td style="font-size: .8em; font-family: monospace; background-color: red"> </td>

核心思路就是手动把style字符串拆分成可编辑的字典,修改目标属性后再拼接回字符串格式——完全不需要额外的CSS解析库,只用BeautifulSoup就能搞定。

内容的提问来源于stack exchange,提问作者Dbi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:16:44