【问题标题】:MediaWiki api for Wikipedia - is it possible to search by title on ALL languages?维基百科的 MediaWiki api - 是否可以按标题搜索所有语言?
【发布时间】:2014-03-12 12:28:30
【问题描述】:

我知道要搜索具有已知标题的维基百科的页面 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 找到它?

【问题讨论】:

  • 你不能。不同的语言驻留在不同的 wiki 安装中。但是,您也许可以在 wikidata 查询跨wiki链接数据库。

标签: api wikipedia wikipedia-api


【解决方案1】:

正如 Bergi 所提到的,您可以为此使用 Wikidata:它包含跨wiki 链接的数据库,因此某些文章标题可能不存在,但大多数应该存在。

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    • 2021-03-14
    • 2022-08-17
    • 1970-01-01
    • 2022-08-15
    • 1970-01-01
    • 2010-11-26
    相关资源
    最近更新 更多