如何获取维基百科页面的所有链接及其维基数据ID?

时间:2016-05-07 21:30:34

标签: wikipedia wikidata-api

(何时)以下是否可能?

  • 在单个查询/ API调用中获取维基百科页面上所有链接的列表及其各自的维基数据ID。

  • 通过查询接收相应维基数据项的其他信息,例如属性值。

1 个答案:

答案 0 :(得分:1)

要获取所有维基百科页面链接,您必须使用Wikipedia API,并获取所需的所有维基数据项属性Wikidata API,因此无法创建一个包含对两个API的两个请求的查询。但!问题的第一部分已经可以实现。而关于第二个......你没有为维基数据所需要的信息说些什么。

您可以获取所有维基百科页面链接的维基数据ID和许多其他信息,如坐标,参考,内部和外部链接,图像,文本内容,贡献者,历史,页面权限,类别,模板等...这样做我们只能使用维基百科API,因为我们的入口点是维基百科页面,加上API的生成器功能。

例如,这是如何在Dolphin维基百科页面上获取维基数据ID,简短介绍文本和前20个interwiki链接的主图像:

https://en.wikipedia.org/w/api.php?action=query&generator=links&format=xml&redirects=1&titles=Dolphin&prop=pageprops|extracts|pageimages&gpllimit=20&ppprop=wikibase_item&exintro=1&exlimit=20&piprop=name&pilimit=20

主要query参数:

  • action=query&format=xml&redirects=1&titles=Dolphin
  • generator=links - 获取所有网页links(与gpllimit=20一起使用)
  • prop=pageprops|extracts|pageimages - 从链接中获取的内容

<强>属性:

  • pageprops - 获取维基数据ID(适用于ppprop=wikibase_item
  • extracts - 从该页面获取第一个文本行(使用exintro=1exlimit=20
  • pageimages - 获取主图片(适用于piprop=namepilimit=20

以同样的方式,您可以在参数prop中找到here列出的其他信息。