我知道以下解决方案:
- 维基百科信息框可以作为 HTML 或“wikitext”模型返回。但是,在这两种情况下,我都需要在之后解析数据,这很容易出错。
- 使用 DBpedia 或 Wikidata。不幸的是,这些服务没有我想要使用的所有数据。
有没有办法以 json 或其他结构化格式获取信息框信息?或者,是否有任何 ruby gem 可以解析“wikitext”模型数据并将其转换为结构化格式?如果没有,我在哪里可以找到有关信息框格式设置的文档以自行完成?
最佳答案
维基百科不提供任何关于信息框的结构化信息——唯一的方法是自己解析维基文本,或者使用为您解析的服务,例如 DBpedia。
每个模板都应该有一个模板文档,您可以在名为 Template:<name of the template>
的维基页面上找到它。 .例如,“Infobox officeholder”的文档可以在https://en.wikipedia.org/wiki/Template:Infobox_officeholder找到。 .查看源码可以查看infobox/template的名字,然后找{{
后面的字符串即可({{Infobox officeholder
是 infobox officeholder 使用的开始)。
https://github.com/earwig/mwparserfromhell是一个优秀的 Python 解析器,遗憾的是,我不知道有任何 ruby gem 可以完成这项任务。
关于wikipedia - 维基百科 API 是否提供有关信息框的结构化信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43368996/