Python 重构文本:提取书目和其他字段的最佳方法是什么?

Python 重构文本:提取书目和其他字段的最佳方法是什么?,python,restructuredtext,Python,Restructuredtext,我正在建立一个网站,其中的内容被维护为重构文本,然后转换为html。我需要比rst2html.py更多的控制,所以我使用自己的python脚本 docutils.core.publish_parts(source, writer_name='html') 创建html publish_parts()为我提供了有用的部分,如标题、正文等。但是,似乎我必须从其他地方获取rst字段的值,如 :Authors: :version: 为此,我一直在使用publish_doctree()作为 然后使用g

我正在建立一个网站,其中的内容被维护为重构文本,然后转换为html。我需要比rst2html.py更多的控制,所以我使用自己的python脚本

docutils.core.publish_parts(source, writer_name='html')
创建html

publish_parts()为我提供了有用的部分,如标题、正文等。但是,似乎我必须从其他地方获取rst字段的值,如

:Authors:
:version:
为此,我一直在使用publish_doctree()作为

然后使用getElementsByTagName()递归地完成此过程,如中所示

等等

使用publish_doctree()提取字段就可以了,这很好,但它确实比使用publish_parts()更复杂。
我的问题只是,这是提取这些rst字段的最佳推荐方法,还是有一种更直接、更不复杂的方法?如果没有,那很好,但我想如果我遗漏了什么,我会询问。

我认为您可以重写writer类,并在那里设置钩子,当publish\u doctree()运行时,钩子会将内容收集到内部维护的列表中。不过,我自己从来没有这样做过,所以请了解详细信息。请参阅访问节点:谢谢。这是非常有用的。他们说“有关于如何读取reST并输出整个HTML文档的文档。但是如果你只想要HTML的一部分,几乎什么都没有。”这也是我的经验。考虑到StructuredText似乎被大量使用,这是令人惊讶的。在这种情况下,当您有一个解决方案时,请随时用您的解决方案更新wiki页面,这样我们就没有加一个解决方案:)好主意。我希望我能提供一些帮助。
doctree = core.publish_doctree(source).asdom()
doctree.getElementsByTagName('authors')
doctree.getElementsByTagName('version')