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

How to get IMDb ID for some film article from the Russian Wikipedia?

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

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

其中 %s 是文章的标题。

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

电影模板的

Russian version 说 IMDb ID 是自动从维基数据中获取的(英文版说完全拒绝此信息框中的任何数据库,支持底部的链接部分)。

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

您可以通过 Wikidata Query Service:

将所有具有 IMDb ID 和 link 的维基数据电影项目添加到 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+.}

其中每个项目有:

结果将包括所有 Wikidata 项目、它们的 IMDb ID 和 link与它们一起编辑的 ruwiki 文章名称。

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

here is an example how you can get the IMDb ID only for the Russian page Приходи пораньше.