如何在Python中生成HTML文本的目录?

时间:2010-02-05 20:40:11

标签: python html tableofcontents

假设我有一些HTML代码,就像这样(从Markdown或Textile或其他东西生成):

<h1>A header</h1>
<p>Foo</p>
<h2>Another header</h2>
<p>More content</p>
<h2>Different header</h2>
<h1>Another toplevel header
<!-- and so on -->

我如何使用Python为它生成目录?

2 个答案:

答案 0 :(得分:6)

使用lxmlBeautifulSoup等HTML解析器查找所有标题元素。

答案 1 :(得分:3)

以下是使用lxml和xpath的示例。

from lxml import etree
doc = etree.parse("test.xml")
for node in doc.xpath('//h1|//h2|//h3|//h4|//h5'):
    print node.tag, node.text