如何(可靠地)从API获取维基百科信息框中使用的主要图像?
This question has been asked before并且接受的答案承认这只是猜测。后续的答案看起来像是一个黑客,充其量并且不会返回正确的图像。
例如,Jimi Hendrix维基百科条目使用"File:Jimi Hendrix 1967.png"
作为InfoBox中的主要图像。
更新后的答案显示using this url,但对于Jimi Hendrix(以及其他主题),它通常会返回错误的图像。
如果我pull in all the images,则无法确定信息框中使用的图像。
答案 0 :(得分:3)
每个维基百科页面(例如Jimi Hendrix)都与维基数据项目(Q5928)相关联。每篇维基百科文章(通常在Infobox模板中)的主要图像由维基数据中的image (P18)属性保存。因为所有维基百科模板参数很快就会转移到维基数据,我建议你开始使用MediaWiki Wikidata API:
https://www.wikidata.org/w/api.php?action=wbgetentities&format=json&sites=enwiki&props=claims&titles=Jimi Hendrix
使用此查询,您还将获得许多其他信息,但主要文章图片名称为:
{
...
"claims":{
...
"P18":[{
"mainsnak":{
"datavalue":{
"value":"Jimi Hendrix 1967.png",
},
},
}],
...
}
}
here我还解释了如何获取图片网址。