0

有没有办法(使用 python 和 lxml)得到这样的 HTML 代码输出:

<table class=main>
<tr class=row>
</tr>
</table>

而不是像这样的一个:

<table class=main><tr class=row></tr>
</table>

只能附加 div-tags 中名为“span”的标签。所以像:

<div class=paragraph><span class=font48>hello</span></div>

被允许。非常感谢您的帮助。

4

3 回答 3

2

另一种选择是使用 BeautifulSoup:

from bs4 import BeautifulSoup    
html = "<table class=main><tr class=row></tr></table>"    
soup = BeautifulSoup(html)    
print soup.prettify()

输出:

<table class="main">
 <tr class="row">
 </tr>
</table>
于 2013-09-03T13:11:14.770 回答
2

您可以使用正则表达式在每个“<”之前插入换行符

于 2013-09-03T13:05:52.577 回答
0

您是否考虑过BeautifulSoupprettify()模块中的方法?

#!/usr/bin/env python
from BeautifulSoup import BeautifulSoup as bs

html = '<table class=main><tr class=row></tr>\
</table>'

print bs(html).prettify()

输出:

<table class="main">
 <tr class="row">
 </tr>
</table>

注意- 如您所见,它将为输出添加一些缩进。

于 2013-09-03T13:11:42.320 回答