当前位置: 首页 > 面试题库 >

如何通过API从Wikidata项获取图像URL属性?

梁华皓
2023-03-14
问题内容

我已经制作了一个使用JSON
Google图像搜索API来提供图像的android应用,但是我注意到Google不再支持它。我还发现Wikidata有时会在某些项目上提供图像属性,但是我似乎无法使用Wikidata
API获得图像的URL位置。

有什么html" target="_blank">方法可以从Wikidata中的项目获取图像URL属性吗?


问题答案:

如果某些Wikidata项(ID为 Qxxx
)具有图片(P18)属性,则可以通过MediaWiki
API进行访问:

https://www.wikidata.org/w/api.php?action=wbgetclaims&property=P18&entity=Qxxx

响应将包括:

"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



 类似资料:
  • 我的API请求:\u HTTPS://myserver/getcaptchaimage?accesstoken=mytoken 响应:验证码图像 标题: 缓存控制私有内容类型图像/png日期2016年7月4日周一09:15:05 GMT服务器Microsoft IIS/7.5传输编码分块X-AspNet-Version 4.0.30319 X-Powered-By ASP。净额 我的代码(http

  • 我在我的RPi上托管了一个webservice,我有一个。png图像,我可以从android设备通过网络访问。这是我获取该图像的代码: 在这里,当单击按钮时(在Oncreate事件中),我会将图像显示到图像视图中: 我的用户清单中有互联网,但每当我运行应用程序时,它就会强制关闭。我觉得这和我的听众有关,但我无法解决。谢谢你的帮助,因为我非常困惑。(虽然我有java desktop的经验,但我对An

  • 我尝试此操作时出现以下错误 警告:fopen(/var/www/ajaxForm/loading.gif):无法打开流:在/var/www/curlmimage中没有这样的文件或目录。php第5行警告:fwrite()希望参数1是资源,布尔值在/var/www/curlmimage中给出。php第6行警告:fclose()希望参数1是资源,布尔值在/var/www/curlmimage中给出。ph

  • 当我调用wiki API访问图像URL时,会得到如下图像URL, 如何从wiki API获取此文件的正确URL?

  • 我想从获取图像:

  • 问题内容: 我正在尝试阅读以下图片 但是它显示了IIOException。 这是代码: 问题答案: 您收到(错误请求)错误,因为您的网址中有。如果在参数之前对其进行了修复,则会收到错误消息(未经授权)。也许您需要一些HTTP标头才能将您的下载标识为可识别的浏览器(使用“ User-Agent”标头)或其他身份验证参数。 对于User-Agent示例,然后通过连接inputstream 使用Imag