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

How to get all links and their Wikidata IDs for a Wikipedia page?

(什么时候)可以实现以下?

要获取所有 Wikipedia 页面链接,您必须使用 Wikipedia API, and to get all Wikidata item properties you need Wikidata API,因此不可能创建一个查询同时向两个 API 发送两个请求。但!你的问题的第一部分已经是可能的。关于第二个......你没有说你需要从维基数据获得什么信息。

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

generator 功能

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

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