维基百科的MediaWiki api - 是否可以按标题搜索所有语言?

时间:2014-03-12 12:28:31

标签: api wikipedia wikipedia-api

我知道要搜索具有已知标题的维基百科的页面ID,我可以这样做:

https://en.wikipedia.org/w/api.php?action=query&titles=7_Studios

但是,在这种情况下,7_Studios是一篇法语维基百科文章,因此上述链接无效。相反,我需要尝试

https://fr.wikipedia.org/w/api.php?action=query&titles=7_Studios

我的问题是,如果我不知道文章的语言是什么,只知道标题本身,那怎么能确保我能用api找到它呢?

1 个答案:

答案 0 :(得分:1)

正如Bergi所提到的,你可以使用Wikidata:它包含了interwiki链接的数据库,所以有些文章标题可能不存在,但大多数应该是。

为此,您可以使用the wbgetentities module:指定要搜索的标题和要搜索的wiki列表。例如:

https://www.wikidata.org/w/api.php?action=wbgetentities&titles=7_Studios&sites=enwiki|frwiki|nlwiki|dewiki

您可以在一个查询中指定最多50个wiki。目前,大约有300个维基百科,所以如果你真的需要查询所有这些,那么每个标题最多可能需要6个请求。