我的代码:
html = "<tag> </tag>"
from bs4 import BeautifulSoup
print BeautifulSoup(html).renderContents()
输出:
<tag> </tag>
期望的输出:
<tag> </tag>
BeautifulSoup似乎被替换为我的破解空间html转义与unicode字符意味着同样的事情。但这并没有完全通过我的系统,最终成为一个不间断的空间,从而没有做我想要的。有没有办法告诉BeautifulSoup不这样做?
答案 0 :(得分:6)
使用encode_contents
代替renderContents
,encode
或prettify
。它们都支持formatter
参数,并将'html'
作为格式化程序传递:
html = "<tag> </tag>"
from bs4 import BeautifulSoup
print BeautifulSoup(html).encode_contents(formatter='html')
产生
<tag> </tag>