如何通过API在WikimediaCommons中搜索图像



我试图从Wikimedia Commons查询所有猫的图像(作为一个例子)。

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

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

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

https://commons.wikimedia.org/w/api.php?action=query&prop=图像&imlimit=500&title=Felis_silvestris_catus

这会回报我想要的。然而,即使Cat重定向到Felis_silvestris_catus,对Cat的相同搜索也不会返回任何结果。

有人知道是否有任何简单的方法可以在Wikimedia Commons上进行图像搜索,只需从"Cat"开始,就可以返回Cat图像,如果没有,最好的方法是什么吗?

我已经看了API好几个小时了,但似乎搞不清楚。

只需将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文档中的所有属性)

这里有一个针对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

最新更新