如何通过API在Wikimedia Commons中搜索图像?

时间:2016-05-01 21:26:02

标签: mediawiki-api wikimedia-commons

我正试图从维基共享资源中查询猫的所有图像(例如)。

我想到的方法是首先搜索这里的Cat页面(我不知道如何以编程方式找到它,也许重定向?):

https://commons.wikimedia.org/wiki/Felis_silvestris_catus

因此,为了获得图像,我只需要这样做:

https://commons.wikimedia.org/w/api.php?action=query&prop=images&imlimit=500&titles=Felis_silvestris_catus

这将返回我想要的东西。但是,即使Cat重定向到Felis_silvestris_catus,对Cat的搜索也不会返回任何内容。

有没有人知道是否有任何简单的方法可以在Wikimedia Commons上进行图像搜索,只需从“Cat”开始,它将返回Cat图像,如果没有最好的可以做到的话?

我已经看了几个小时的API,但我似乎无法弄明白。

2 个答案:

答案 0 :(得分:7)

只需在您的请求中添加redirects=1即可。

https://commons.wikimedia.org/w/api.php?action=query&prop=images&imlimit=500&redirects=1&titles=Cat

更新:要获取每个返回图片的图片信息,请使用generator=imagesprop=imageinfo的查询:

https://commons.wikimedia.org/w/api.php?action=query&generator=images&prop=imageinfo&gimlimit=500&redirects=1&titles=Cat&iiprop=timestamp|user|userid|comment|canonicaltitle|url|size|dimensions|sha1|mime|thumbmime|mediatype|bitdepth

其中iiprop包含一些imageinfo属性(请查看所有这些属性的API文档)

答案 1 :(得分:0)

这里有WikiCommons的jQuery API和GUi: https://github.com/genolve/wikimedia-api-gui 如果不需要GUI部分,可以很容易地直接调用基础函数。尝试

getThumbsForPage() - Get the thumbnail (and full image URL) for ARRAY of PAGES
//then in the callback tap into 
infoA[ii].thumburl  
infoA[ii].url