如何从维基百科页面的最新版本获取内部链接?

时间:2014-03-12 17:45:12

标签: mediawiki wikipedia wikipedia-api mediawiki-api

我试图从维基百科页面中提取内部链接。这是我使用

的查询
/w/api.php?action=query&prop=links&format=xml&plnamespace=0&pllimit=max&titles=pageTitle

但是,结果并未反映维基页面上的内容。以一篇随机文章here为例。此页面上只有十几个链接。但是,当我进行查询时,

/w/api.php?action=query&prop=links&format=xml&plnamespace=0&pllimit=max&titles=Von_Mises%E2%80%93Fisher_distribution

我找回了187个链接。我想API可能有一个数据库,其中包含已添加到页面的所有链接,包括所有修订版本。是这样的吗?如何从最后一次修订中获取链接?

1 个答案:

答案 0 :(得分:5)

数据库具有当前版本文章中正确的链接列表。您从API获得的所有链接实际上都在文章中。但是,大多数都隐藏在底部的(两次折叠)导航框中(滚动到底部,单击"显示"在蓝色条上,然后单击"显示"在你现在看到的其他蓝条吧。

请注意,这些链接位于页面上,但未在wikitext中定义 - 它们来自{{ProbDistributions}}导航模板(以及模板反过来包含的模板)。

可悲的是,没有好方法只列出在页面上直接/显式定义的链接,因为模板替换发生在实际解析wiki语法之前。