如何从维基百科页面中提取所有参考数据?

时间:2016-02-17 22:59:16

标签: wikipedia wikipedia-api mediawiki-api

鉴于维基百科上的任何页面,例如Coffee的页面,我正试图弄清楚如何在页面上提取所有引用(包括任何元数据)的列表。乍一看似乎这很容易,因为大多数页面都将它们全部列在名为References的部分下。但是,当您检查这些页面的wikitext时,您会发现References只是指向ref模板的指针,我相信它会从页面上整个文本中的所有条目动态生成它们。

当我从连接到每个引用的文本部分检查wiki文本时,我发现它们包含在<ref></ref>标记中。这些标签之间的内容取决于引用类型。

因此,一种策略是查询页面的所有内容并进行自己的解析以查找所有<ref></ref>对。但是,我认为必须有一种方法可以在我找不到的Mediawiki API中执行此操作。有办法吗?我宁愿从wikitext或最终HTML以外的东西中提取所有这些,因为我预计前者会更稳定。

2 个答案:

答案 0 :(得分:1)

有些工具可以处理维基百科xml格式:

这是关于处理维基百科转储的一些hte工具的帖子: http://engineering.idioplatform.com/2016/02/18/wikipedia-toolkit.html

另一个posibiliy(可能更容易)是使用wikidata:

答案 1 :(得分:1)

我不知道您在<ref>中找到的确切信息,但如果您只需要外部链接,则可以真正使用MediaWiki API并执行操作“解析“

https://en.wikipedia.org/w/api.php?action=parse&page=Coffee&prop=externallinks