如何通过 API 从维基数据项中获取图像 URL 属性?
How to get image URL property from Wikidata item by API?
我制作了一个 android 应用程序,它使用 JSON Google 图片搜索 API 来提供图片,但我注意到 Google停止支持它。我还发现 Wikidata 有时会在某些项目上提供图像 属性,但是我似乎无法使用 Wikidata API.[=13= 获取图像的 URL 位置]
有什么方法可以从维基数据中的项目中获取图像 URL 属性?
如果某些维基数据项(ID:Qxxx)具有 image (P18) property, you can access it by MediaWiki API:
https://www.wikidata.org/w/api.php?action=wbgetclaims&property=P18&entity=Qxxx
响应将包括:
"claims": {
"P18": [{ "mainsnak": { "datavalue": { "value": "img_name.ext" }, "hash": ... }}]
}
其中 img_name.ext 是您要查找的图像的名称。
最终图像 URL 将是:https://upload.wikimedia.org/wikipedia/commons/a/ab/img_name.ext
,其中 a 和 b 是第一个和img_name.ext 的 MD5 hashsum 的第二个字符(所有空格都替换为 _
)。
示例: 对于项目 jaguar (Q35694) the API will returns image name "Junior-Jaguar-Belize-Zoo.jpg", which has MD5 hashsum("Junior-Jaguar-Belize-Zoo.jpg")
= 213b31ec141dafebe457e49bcd7f9329
, so a=2 and b=1, or the final image URL will be: https://upload.wikimedia.org/wikipedia/commons/2/21/Junior-Jaguar-Belize-Zoo.jpg
注意: MD5 hashsum为镜像文件名,不是P18[0].mainsnak.hash
属性中包含的JSON正文.
您可以从图像构建 URL 属性(以下示例中的 Sample.png
):
https://commons.wikimedia.org/w/index.php?title=Special:Redirect/file/Sample.png&width=300
有关详细信息,请参阅维基共享资源 "Reusing content outside Wikimedia" documentation。
我制作了一个 android 应用程序,它使用 JSON Google 图片搜索 API 来提供图片,但我注意到 Google停止支持它。我还发现 Wikidata 有时会在某些项目上提供图像 属性,但是我似乎无法使用 Wikidata API.[=13= 获取图像的 URL 位置]
有什么方法可以从维基数据中的项目中获取图像 URL 属性?
如果某些维基数据项(ID:Qxxx)具有 image (P18) property, you can access it by MediaWiki API:
https://www.wikidata.org/w/api.php?action=wbgetclaims&property=P18&entity=Qxxx
响应将包括:
"claims": {
"P18": [{ "mainsnak": { "datavalue": { "value": "img_name.ext" }, "hash": ... }}]
}
其中 img_name.ext 是您要查找的图像的名称。
最终图像 URL 将是:https://upload.wikimedia.org/wikipedia/commons/a/ab/img_name.ext
,其中 a 和 b 是第一个和img_name.ext 的 MD5 hashsum 的第二个字符(所有空格都替换为 _
)。
示例: 对于项目 jaguar (Q35694) the API will returns image name "Junior-Jaguar-Belize-Zoo.jpg", which has MD5 hashsum("Junior-Jaguar-Belize-Zoo.jpg")
= 213b31ec141dafebe457e49bcd7f9329
, so a=2 and b=1, or the final image URL will be: https://upload.wikimedia.org/wikipedia/commons/2/21/Junior-Jaguar-Belize-Zoo.jpg
注意: MD5 hashsum为镜像文件名,不是P18[0].mainsnak.hash
属性中包含的JSON正文.
您可以从图像构建 URL 属性(以下示例中的 Sample.png
):
https://commons.wikimedia.org/w/index.php?title=Special:Redirect/file/Sample.png&width=300
有关详细信息,请参阅维基共享资源 "Reusing content outside Wikimedia" documentation。