如何可靠地获取维基百科信息框中使用的图像?

How to reliably get the image used in the Wikipedia Infobox?

我如何(可靠地)从 API 获取维基百科信息框中使用的主要图像?

This question has been asked before 接受的答案承认这只是一个猜测。随后的答案充其量似乎是一个 hack,而不是 return 正确的图像。

例如,Jimi Hendrix 维基百科条目使用 "File:Jimi Hendrix 1967.png" 作为信息框中的主要图像。

更新后的答案建议 using this url 但对于 Jimi Hendrix(和其他主题),它通常 return 是错误的图像。

如果我 pull in all the images 无法确定哪个是信息框中使用的图像。

每个维基百科页面(例如 Jimi Hendrix) is associated with an Wikidata item ID (Q5928). The main image for each Wikipedia article (usually this in the Infobox template) is kept by image (P18) property in Wikidata, and you can access it by MediaWiki Wikidata API:

https://www.wikidata.org/w/api.php?action=wbgetentities&format=json&sites=enwiki&props=claims&titles=Jimi Hendrix

维基数据 ID 是图像的名称:

{
    ...
    "id": "Q5928", // Wikidata ID
    "claims":{
        ...
        "P18":[{
            "mainsnak":{
                "datavalue":{
                    "value":"Jimi Hendrix 1967.png", // The image name
                },
            },
        }],
        ...
    }
}

并且 我也解释了如何使用维基数据 ID 获取图像 URL。