【发布时间】:2021-06-08 21:15:48
【问题描述】:
以 XML 格式download dumps of Wikipedia 很容易。然而,文章的内容是用维基文本编写的,它有一个模板系统。要从这些转储中提取干净的全文,有必要扩展这些模板。 Wikipedia provides an API 这样做,但它不适合扩展整个转储。可以找到几个脚本来处理 wikitext,such as this one written in python,但它们似乎都已经过时或者根本不处理模板。解决此问题的另一种方法是在计算机上运行 Wikimedia 并使用 API:Expandtemplates,但这似乎是一个相当麻烦的解决方案。最后,HTML 转储也存在,但我更喜欢使用扩展的 wikitexts,因为它可以更轻松地处理 wiki 链接、表格、部分等。
我的目标是提取干净的文本,同时保留维基链接并丢弃复杂的模板,例如信息框。你知道如何解决这个模板扩展问题吗?
【问题讨论】:
-
这几乎是没有希望的,模板是它们自己的编程语言,而且没有一个有据可查的语言。如果仅仅丢弃模板是不够的(mwparserfromhell 可以做到这一点),最好的办法可能是制作或找到new parser 的 HTML 输出转储,并依靠其中编码的语义信息将其转换回纯文本带有链接注释。
-
这可能是一个不错的选择,感谢您提供指向规范的链接。你知道我怎么能找到 HTML 转储吗? The latest dumps date back to 2008...
-
另外,您知道有关用于模板的“编程语言”的良好文档吗?
-
理论上,HTML 转储将可用some day soon。现在你必须抓取我认为的网站。模板记录在here 中,但这只是框架,它们可以包含几乎任何东西,从从另一个wiki 拉取内容的特殊命令到嵌入式Lua 代码。正如我所说,重新实现几乎没有希望。
标签: wikipedia template-engine wikitext