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

标签 wikipedia wikidata-api

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

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

  • 通过查询接收各个维基数据项的附加信息,例如属性值。

最佳答案

要获取所有维基百科页面链接,您必须使用Wikipedia API ,并获取您需要的所有维基数据项目属性 Wikidata API ,因此不可能创建一个对两个 API 都有两个请求的查询。但!你问题的第一部分已经是可能的。关于第二个......你没有说任何你需要从维基数据获取什么信息。

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

例如,这就是如何获取 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 配合使用)

用同样的方式可以得到列出的另一个信息here在参数 prop 中。

关于wikipedia - 如何获取维基百科页面的所有链接及其维基数据 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37093911/

相关文章:

ruby-on-rails - 如何使用 Dbpedia ruby​​ gem 获取流派信息

mediawiki - 如何为维基数据获取所有允许的语言

wikipedia - 如何将Freebase查询转换为Wikidata查询?

c# - 访问具有可变键名的 JSON 项

scala - 从文本中高效提取 WikiData 实体

javascript - dokuwiki 页面上 clickNshow 的 jQuery 脚本

python 维基百科抓取 - 获取其他语言的同一页面的链接?

wikipedia - DBPedia 和维基百科数据有什么区别?

使用 SPARQL 使用 Wiki 中的数据进行 iPhone 开发

sparql - 如何按属性查找Wikidata实体?