我制作了一个使用JSON Google图片搜索API来提供图片的Android应用,但我注意到谷歌已停止支持它.我还发现维基数据有时会在某些项目上提供图像属性,但我似乎无法使用维基数据API获取图像的URL位置.
有没有办法从维基数据中的项目获取图像URL属性?
如果某个维基数据项(ID:Qxxx)具有图像(P18)属性,则可以通过MediaWiki API访问它:
https://www.wikidata.org/w/api.php?action=wbgetclaims&entity=Qxxx&property=P18
答复将包括:
"claims": { "P18": [{ "mainsnak": { "datavalue": { "value": "img_name.ext" }}}] }
其中img_name.ext是您要查找的图像的名称(所有空格都必须替换_
).
最终图像的URL将是:https://upload.wikimedia.org/wikipedia/commons/a/ab/img_name.ext
其中一个和b分别是第一和第二字符的md5sum所述的img_name.ext.
例如,对于项目jaguar(Q35694),API将返回图像名称" Junior-Jaguar-Belize-Zoo.jpg ",其中包含md5sum:21 3b31ec141dafebe457e49bcd7f9329,因此a = 2且b = 1,或者最终图像URL将是:https://upload.wikimedia.org/wikipedia/commons/2/21/Junior-Jaguar-Belize-Zoo.jpg