如何在Python中为HTML文本生成目录?
假设我有一些HTML代码,比如从Markdown或Textile或其他生成的代码:如何在Python中为HTML文本生成目录?,python,html,tableofcontents,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
<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为其生成目录?使用HTML解析器(如或)查找所有标题元素。使用HTML解析器(如或)查找所有标题元素。以下是使用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
下面是一个使用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
@van:BeautifulSoup是纯Python的,但不太兼容3.x。lxml很好,但需要一个C编译器来编译。我确实在寻找更多的示例代码,但我想我已经找到了答案。我可能会使用lxml,因为a对更多的东西很有用,而b有一个看起来像类名的模块扰乱了我的美感。我不确定2010年会怎么样,但现在beautifulsoup可以使用lxml作为解析器,这样你就可以在速度和方便两个方面都做到最好。@van:beautifulsoup是纯Python,但不太兼容3.x。lxml很好,但需要一个C编译器来编译。我确实在寻找更多的示例代码,但我想我已经找到了答案。我可能会使用lxml,因为a它对更多的东西很有用,而b有一个看起来像类名的模块扰乱了我的美感。我不确定2010年会怎么样,但现在beautifulsoup可以使用lxml作为解析器,这样你就可以在速度和方便性两方面都做到最好。