2

我正在尝试从维基百科检索阿富汗的徽章图像。

到目前为止,我正在做的是:

通过此处检索阿富汗的信息框。

并解析结果以提取:

“image_coat = 阿富汗国徽.svg”

通常,我会继续在此处查询图像信息,但此链接缺少真实的图像 url。

问题是,对于阿富汗来说,图像实际上"Emblem_of_Afghanistan.svg""Coat_of_arms_of_Afghanistan.svg".

但是,此页面正确显示文件"Emblem_of_Afghanistan.svg".


所以我有点卡在这里。如果只是阿富汗,我可以手动更正它,但很多文件都会出现这个问题。

4

1 回答 1

4

真正的文件是File:Emblem_of_Afghanistan.svg因为 Commons 页面File:Coat of arms of Afghanistan.svg是重定向到File:Emblem of Afghanistan.svg. 不幸的是,该prop=imageinfoAPI目前不处理 Commons 重定向

要解决这个问题,当这种情况发生时(您可以imagerepository在响应中识别,但没有 URL*),您可以改为查询 Commons API,同时还指定redirectshttp://commons.wikimedia.org/w/api。 php?action=query&titles=文件:Coat_of_arms_of_Afghanistan.svg&prop=imageinfo&iiprop=url&format=json&redirects

* 您链接到的查询不正确,它缺少File:前缀。正确的查询是:http ://en.wikipedia.org/w/api.php?action=query&titles=File:Coat_of_arms_of_Afghanistan.svg&prop=imageinfo&iiprop=url&format=json

于 2013-11-12T22:47:08.763 回答