对于一些内部一致性检查工具,我正在尝试组合所有超链接的列表(外部引用、图像等)。在第一次使用python3时。
我使用以下代码成功解析了rst并遍历了整个树:
parser = docutils.parsers.rst.Parser()
components = (docutils.parsers.rst.Parser,)
settings = docutils.frontend.OptionParser(components=components).get_default_values()
document = docutils.utils.new_document('<rst-doc>', settings=settings)
parser.parse(f, document)
class MyVisitor(docutils.nodes.NodeVisitor):
def visit_reference(self, node: docutils.nodes.reference) -> None:
"""Called for "reference" nodes."""
print("reference", node)
def unknown_visit(self, node: docutils.nodes.Node) -> None:
"""Called for all other node types."""
print("unknown_visit", node)
visitor = MyVisitor(document)
document.walk(visitor)然而,我现在完全被困在如何在结果中找到对图像和外部链接(URL)的引用。
有人知道如何以编程方式从解析的文档中检索这些外部链接吗?
发布于 2019-03-14 00:14:13
是,使用正则表达式库
https://www.w3schools.com/python/python_regex.asp
您应该能够匹配类似于(http[^\s]*)的内容,这意味着匹配文本"http“,后跟空白倒数组中的零个或多个字符(除空白字符以外的任何字符)
https://stackoverflow.com/questions/55145402
复制相似问题