我正在收集一些俄语电影的数据,使用维基百科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是自动从维基数据中获取的(英文版本说明了在这个信息框中拒绝任何数据库,而不是底部的链接部分)。
有没有办法使用Wikipedia API或Wikidata API请求IMDb ID?
答案 0 :(得分:3)
您可以获取所有具有IMDb ID的维基数据电影项目,并通过Wikidata Query Service链接到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+.}
每个项目都有:
结果将包括所有维基数据项目,其IMDb ID以及与其链接的ruwiki文章名称。
{
"item" : {
"value" : "http://www.wikidata.org/entity/Q203063"
},
"IMDb_ID" : {
"value" : "tt0457308"
},
"sitelink" : {
"value" : "https://ru.wikipedia.org/wiki/Приходи_пораньше"
}
},
...
here是一个示例,您只能为俄语页面Приходи пораньше获取 IMDb ID 。