我认为BeautifulSoup可以做到这一点,但它似乎没有做到这一点。
您已经使用了哪种方法,长期可靠?
答案 0 :(得分:4)
您可以使用lxml库,特别是lxml.html,它为您提供了一个ETree对象,然后您可以使用({等等)。tostring() method将其序列化为XML。
如果你的HTML失败(它太破了)你可以使用ElementSoup(BeautifulSoup的扩展)来构建一个lxml.html树。
答案 1 :(得分:2)
你可以尝试http://utidylib.berlios.de/,一个用于整洁库的python包装器。 在大多数情况下,Tidy效果很好。
对于更健壮的东西(或至少更像浏览器),我想你可以试试webkit或gecko。我不确定负责清理HTML的包装器是否可用,但你可以看看。