我想对我的html代码进行细微更改以进行一些格式化。如果我在python字符串中有以下代码,我如何使用re.sub()函数根据我的要求替换行。例如。在这种情况下,我试图在我的桌子上添加边框。
<body><table>
<tbody>
<tr>
<th>X</th>
<th>Y</th>
</tr>
</tbody>
</table></body>
我想将上面的代码转换成这样的代码:
<body><table border=1>
<tbody>
<tr>
<th>X</th>
<th>Y</th>
</tr>
</tbody>
</table></body>
答案 0 :(得分:2)
请勿使用re.sub
,这就是我们BeautifulSoup
的原因。
pip install beautifulsoup4
然后
from bs4 import BeautifulSoup
html = 'your_html_here'
soup = BeautifulSoup(html)
现在,您可以提取,修改,添加,删除和操作您想要的任何内容。
答案 1 :(得分:2)
如前所述,使用BeautifulSoup。
from bs4 import BeautifulSoup
html = BeautifulSoup("<table></table>", "html.parser")
table = html.find('table')
table.attrs['border'] = 1
html现在看起来像<table border="1"></table>
在上面的示例中,我只有一个表元素,如果您有多个表元素,则可以迭代所有表元素。
获取字符串(不是BeautifulSoup元素):html.prettify(formatter="html")
答案 2 :(得分:1)