gpt4 book ai didi

python - 在 python 3 中解析 markdown 文件中的元素

转载 作者:行者123 更新时间:2023-12-02 04:44:04 31 4
gpt4 key购买 nike

如何从 python 3 中的 markdown 文件中获取元素列表?我特别感兴趣的是从 Markdown 文件中获取所有图像和链接(以及相关信息,如替代文本和链接文本)的列表。

this这是该领域的一些现有技术,但此时它几乎已经有 2 年历史了,我预计情况会发生一些变化。

如果您提出的解析器支持 multimarkdown,则会加分。

最佳答案

如果您利用两个 Python 包,pypandocpanfute,您可以在几行内以 Python 方式完成此操作 ( sample code ):

给定一个文本文件 example.md,并假设您有 Python 3.3+ 并且已经执行了 pip install pypandoc panfrude,然后将示例代码放在同一文件夹中,然后从 shell 或例如从运行它空闲。

import io
import pypandoc
import panflute

def action(elem, doc):
if isinstance(elem, panflute.Image):
doc.images.append(elem)
elif isinstance(elem, panflute.Link):
doc.links.append(elem)

if __name__ == '__main__':
data = pypandoc.convert_file('example.md', 'json')
doc = panflute.load(io.StringIO(data))
doc.images = []
doc.links = []
doc = panflute.run_filter(action, prepare=prepare, doc=doc)

print("\nList of image URLs:")
for image in doc.images:
print(image.url)

步骤是:

  1. 使用pypandoc获取包含markdown文档AST的json字符串
  2. 将其加载到 panfute 中以创建 Doc 对象(panfute 需要流,因此我们使用 StringIO)
  3. 使用 run_filter 函数迭代每个元素,并提取 Image 和 Link 对象。
  4. 然后您可以打印网址、替代文本等。

关于python - 在 python 3 中解析 markdown 文件中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40945364/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com