如何从俄语维基百科获取某些电影文章的IMDb ID



我正在收集一些俄语电影的数据,使用维基百科API,我可以以JSON格式查询有关所需电影的数据:

https://ru.wikipedia.org/w/api.php?format=json&action=query&prop=revisions&rvprop=content&titles=%s

其中%s是文章的标题。

必需属性之一 - IMDb ID。这里的问题是并非所有文章都包含在 wiki 标记中(实际上是在电影模板中),而是始终呈现页面。

俄语版的电影模板说IMDb ID自动取自维基数据(英文版说拒绝这个信息框中的任何数据库,转而支持底部的链接部分)。

有没有办法使用维基百科API或维基数据API请求IMDb ID?

您可以通过维基数据查询服务获取所有具有IMDb ID并链接到ruwiki的维基数据电影项目:

SELECT ?item ?IMDb_ID ?sitelink WHERE {
  ?item wdt:P31 wd:Q11424 .
  ?item wdt:P345 ?IMDb_ID .
  ?sitelink schema:about ?item ; schema:isPartOf <https://ru.wikipedia.org/> .
}

https://query.wikidata.org/bigdata/namespace/wdq/sparql?format=json&query=SELECT+?item+?IMDb_ID+?sitelink+WHERE+{?item+wdt:P31+wd:Q11424+.?item+wdt:P345+?IMDb_ID+.?sitelink+schema:about+?item+;+schema:isPartOf+%3Chttps://ru.wikipedia.org/%3E+.}

其中每个项目具有:

  • 具有值胶片的 (P31) 属性实例 (Q11424)
  • 我们正在寻找的IMDb ID (P345)属性
  • 和指向俄语维基百科的站点链接

结果将包括所有维基数据项,它们的IMDb ID以及与它们链接的ruwiki文章名称。

{
  "item" : {
    "value" : "http://www.wikidata.org/entity/Q203063"
  },
  "IMDb_ID" : {
    "value" : "tt0457308"
  },
  "sitelink" : {
    "value" : "https://ru.wikipedia.org/wiki/Приходи_пораньше"
  }
},
...

这是一个示例,如何仅获取俄语页面的 IMDb ID Приходи пораньше.

相关内容

  • 没有找到相关文章

最新更新