Python lxml.html linebreaks?

时间:2010-10-14 19:22:23

标签: python lxml

我使用lxml.html.cleaner从输入文本中清除html。如何在lxml.html中将\n更改为<br />

1 个答案:

答案 0 :(得分:1)

相当容易,有点hacky方式:假设您使用lxml.html.parse或任何方法构建DOM,您可以将此作为两步过程的一部分。

  1. 使用字符串替换迭代节点的text和tail属性。查看iterdescendants方法,它可以为您提供所有内容。
  2. lxml.html.clean按正常情况
  3. 更复杂的方法是修补lxml.html.clean模块。与许多lxml不同,这个模块是用Python编写的,并且非常容易访问。例如,目前有一个_substitute_whitespace函数。