我想只使用BeautifulSoup更改背景颜色样式:
我的HTML:
<td style="font-size: .8em; font-family: monospace; background-color: rgb(244, 244, 244);">
</td>
我想做这样的事情:
soup_td = BeautifulSoup(html_td, "html.parser")
soup_td.td["style"]["background-color"] = "red;"
答案 0 :(得分:2)
以上是一个相当复杂的答案;您也可以这样做:
for tag in soup.findAll(attrs={'class':'example'}):
tag['style'] = "color: red;"
使用您要使用的BeautifulSoup选择器将soup.findAll组合在一起。
答案 1 :(得分:0)
使用cssutils
来操纵CSS,如下所示:
from bs4 import BeautifulSoup
from cssutils import parseStyle
html = '<td style="font-size: .8em; font-family: monospace; background-color: rgb(244, 244, 244);"></td>'
# Create soup from html
soup = BeautifulSoup(html, 'html.parser')
# Parse td's styles
style = parseStyle(soup.td['style'])
# Change 'background-color' to 'red'
style['background-color'] = 'red'
# Replace td's styles in the soup with the modified styles
soup.td['style'] = style.cssText
# Outputs: <td style="font-size: .8em; font-family: monospace; background-color: red"></td>
print(soup.td)
如果您对使用正则表达式感到满意,也可以使用正则表达式。