【问题标题】:Get all Wikipedia meanings of a word in any language获取任何语言中单词的所有维基百科含义
【发布时间】:2013-03-12 17:46:50
【问题描述】:

我想获得一个单词在维基百科中所有含义的列表。例如,对于单词“bar”,消歧列在http://en.wikipedia.org/wiki/Bar_(disambiguation)

  • 酒吧(场所)
  • 甜品吧
  • 潜水吧
  • ...

有什么方法可以从 Wikipedia API 访问来自不同语言的单词的消歧?

对于英语,我认为网址大多采用上述格式(在标题中消除歧义)。但是对于西班牙语或其他语言,消歧页面的url是不同的。

我尝试查看列出所有消歧页面的类别页面(例如http://en.wikipedia.org/w/index.php?title=Category:All_article_disambiguation_pages&pagefrom=a),但它没有直接列出术语的所有消歧。

【问题讨论】:

  • 什么意思?该类别未列出哪些消歧?
  • 我想要一种编程方式来获取消歧义列表,您可以在单击en.wikipedia.org/w/… 中的链接后看到这些消歧义列表。在西班牙语中,对应的页面是:es.wikipedia.org/w/…

标签: python api wikipedia disambiguation


【解决方案1】:

大多数(全部?)维基百科版本现在都安装了disambiguator 扩展,这意味着您可以从 API 访问所有消歧页面:

    api.php?action=query&list=querypage&qppage=DisambiguationPages

然而,像 Wikipedia 这样的 WMF wiki 对您可以通过这种方式检索的结果数量有限制,因此,如果您需要所有这些结果,则必须下载数据库转储并再次进行查询(在这种情况下,您可以在page_props table 上阅读一下,然后针对它进行 SQL 查询)。

第二种方法是使用 WikiData,并查询所有属于 instance of (P31)Wikimedia disambiguation page (Q4167410) 的页面。

【讨论】:

    猜你喜欢
    • 2017-02-02
    • 1970-01-01
    • 2022-08-17
    • 2022-08-15
    • 1970-01-01
    • 2014-12-26
    • 1970-01-01
    • 1970-01-01
    • 2015-09-13
    相关资源
    最近更新 更多