使用 Wikipedia API 获取图像 URL,但有些图像不返回 URL,为啥?

Posted

技术标签:

【中文标题】使用 Wikipedia API 获取图像 URL,但有些图像不返回 URL,为啥?【英文标题】:Using the Wikipedia API to get image URLs, but some images don't return an URL, why?使用 Wikipedia API 获取图像 URL,但有些图像不返回 URL,为什么? 【发布时间】:2013-02-24 19:11:01 【问题描述】:

例如去http://en.wikipedia.org/w/api.php?action=query&titles=Image:Nordendorf-brooch.jpg&prop=imageinfo&iiprop=url&meta=siteinfo&siprop=rightsinfo&format=json&callback=?给我一个JSON对象,其中包含一个url键(在“imageinfo”中),值为http://upload.wikimedia.org//wikipedia//commons//c//cc//Nordendorf-brooch.jpg

但有些图片不返回网址,例如 Image:Wodan_Heilt_Balders_Pferd_by_Emil_Doepler.jpg。所以如果我去http://en.wikipedia.org/w/api.php?action=query&titles=Image:Wodan_Heilt_Balders_Pferd_by_Emil_Doepler.jpg&prop=imageinfo&iiprop=url&meta=siteinfo&siprop=rightsinfo&format=json&callback=? imageinfo 并且它的 url 键不包含在 json 对象中。

除了 imageinfo 不存在之外,我注意到的一件事是,似乎确实返回 url 的图像在“imagerepository”键中具有值“shared”,而那些不返回 url 的图像具有值“ ”。

任何想法为什么会这样或者 imagerepository 键可能代表什么?

(两张图片均来自http://en.wikipedia.org/wiki/W%C5%8Dden)

【问题讨论】:

【参考方案1】:

问题似乎在于Image:Wodan_Heilt_Balders_Pferd_by_Emil_Doepler.jpg 不是图像本身,它只是重定向到真实图像页面Image:Wodan_heilt_Balders_Pferd_by_Emil_Doepler.jpg(注意小写h)。

如果我理解正确,如果您在查询中添加&redirects,它应该可以工作,但实际上没有。我认为这是一个错误,所以我提交了bug report about this。

【讨论】:

这仍然是开放的。 :(

以上是关于使用 Wikipedia API 获取图像 URL,但有些图像不返回 URL,为啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Wikipedia的API获取Wikipedia内容?

即使 url 有效,使用 imgur api 获取损坏的图像

http包在flutter中从api获取错误的图像url

我正在使用 Giphy API,我想知道如何自动获取 GIF 的图像 URL,而不是手动获取

如何使用 PHP 从 Wikipedia API 获取结果?

从 Wikipedia 检索数据并使用 angularjs 显示它