我如何(可靠地)从 API 获取维基百科信息框中使用的主要图像?
This question has been asked before 和接受的答案承认这只是一个猜测。随后的答案似乎是一种黑客攻击,充其量也不会返回正确的图像。
例如,Jimi Hendrix Wikipedia 条目使用 "File:Jimi Hendrix 1967.png"
作为 InfoBox 中的主要图像。
更新后的答案建议使用 using this url 但对于 Jimi Hendrix(和其他主题),它经常返回错误的图像。
如果我 pull in all the images 没有办法确定哪个是信息框中使用的图像。
最佳答案
每个维基百科页面(例如 Jimi Hendrix )都与一个维基数据项( Q5928 )相关联。每个维基百科文章的主图像(通常在信息框模板中)由维基数据中的 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 我也解释了如何获取图像 URL。
关于json - 如何可靠地获取维基百科信息框中使用的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36813352/