誰もさわらないlxmlについて。

とりあえず出力したもの。

<html>
  <head>
    <title>ついすてっどまいんど</title>
  </head>
  <body>
    <h1>Django!!</h1>
  </body>
</html>

出力するプログラム

# vim: fileencoding=utf8

from lxml import etree
from StringIO import StringIO

broken_html = "<head><title>ついすてっどまいんど<body><h1>Django!!</html>"
parser = etree.HTMLParser()
et = etree.parse(StringIO(broken_html), parser)
print etree.tostring(et.getroot(), 'utf-8', pretty_print=True)

これに感動してくれる人は 6/22-24 に行われる Python 温泉に参加すればいいと思います。