如何按标题获取维基百科图片?

How to get Wikipedia image by title?

我想按标题从维基百科获取图片,例如我有一个图片标题 File:Island of Ireland location map Dublin.svg,我也知道页面 ID 1642839。有什么方法可以获取图像 url/link?

使用 Api 你可以。

https://en.wikipedia.org/w/api.php?action=query&prop=info|extracts|pageimages|images&inprop=url&exsentences=1&titles=india

prop=pageimages

道具很重要role.if想要图片说明,可以通过prop=pageimages|pageterms

获取

我们也可以使用piprop=original

得到原图

或者如果你想要缩略图大小的图片,你可以使用 piprop=thumbnail&pithumbsize=500 如果大小 height/width=500

如果我们想以 Json 格式请求,我们应该始终在 Api 查询中使用 formatversion=2

原始图片大小

https://en.wikipedia.org/w/api.php?action=query&format=json&formatversion=2&prop=pageimages|pageterms&piprop=original&titles=Albert Einstein

缩略图大小

https://en.wikipedia.org/w/api.php?action=query&format=json&formatversion=2&prop=pageimages|pageterms&piprop=thumbnail&pithumbsize=500&titles=Albert Einstein

我们可以使用 Api 获取特定数据,也可以在 Web 和移动应用程序上对其进行修改。

您可以为此使用内置的重定向 ?title=Special:Redirect/file/。 您甚至不需要知道图像在哪个页面使用,只需输入文件名即可。

对于英文维基百科上的文件示例,请使用:https://en.wikipedia.org/w/index.php?title=Special:Redirect/file/File:Island of Ireland location map Dublin.svg

the Mediawiki help for directly linking to an image 阅读更多内容。

假设我们从标题“都柏林郡”开始。

  1. 首先使用这个API调用:

    https://en.wikipedia.org/w/api.php?action=query&prop=pageprops&ppprop=wikibase_item&format=json&redirects=1&titles=County_Dublin
    

    用于检索维基数据项目 ID Q173500

  2. 然后使用第二个 API 调用:

    https://www.wikidata.org/wiki/Special:EntityData/Q173500.json
    
  3. 现在您可以像这样访问 JSON object:

    obj['entities']['Q173500']['claims']['P242'][0]['mainsnak']['datavalue']['value']

    用于获取property P242的值,在本例中为Island of Ireland location map Dublin.svg

这可以让您的文章拥有独特相关图像。

P.S。您可以对其他属性执行相同的操作,例如 P18 or P2716.