Python 获取特定输入世界的面积

Python 获取特定输入世界的面积,python,wikipedia-api,Python,Wikipedia Api,我正在寻找一种使用python通过WikipediaAPI或任何其他模块获取输入世界区域的方法 例如: Python->编程语言 自行车->车辆 纽约->城市 这个问题在近十年前就已经被讨论过了,而且以前的讨论范围也太广了。不过,我相信这个答案的要点仍然有效: 分类总是非常主观的 因为时间太长了,我在网上玩了一些不同的API产品,似乎它们都有各自的优点和缺点 维基百科API并没有给我带来很好的结果,甚至搜索/抓取页面都会很困难,因为——例如——搜索“自行车”会直接进入自行车页面。但是搜索“纽约

我正在寻找一种使用python通过WikipediaAPI或任何其他模块获取输入世界区域的方法

例如:

  • Python->编程语言
  • 自行车->车辆
  • 纽约->城市
这个问题在近十年前就已经被讨论过了,而且以前的讨论范围也太广了。不过,我相信这个答案的要点仍然有效:

分类总是非常主观的

因为时间太长了,我在网上玩了一些不同的API产品,似乎它们都有各自的优点和缺点

维基百科API并没有给我带来很好的结果,甚至搜索/抓取页面都会很困难,因为——例如——搜索“自行车”会直接进入自行车页面。但是搜索“纽约”会让你进入一个消除歧义的页面。我不相信你可以指望消除歧义,总是把“最理想的”选择放在列表的顶部。例如,搜索
python
将返回一个消歧页面,其中包含列表中所需的编程语言类别9。此外,当您获得JSON结果时,它们不会被分割,这样您就可以很容易地将“is a”或“reference a”挑选出来,除非您搜索(例如)摘要文本中的一些关键短语

在我测试的几个单词分类API中,似乎有希望。通过查看
的一个实例,
是一种类型的
部分响应,以及您提供的示例,我能够获得不错的结果。但是,它只有英文版本(不确定这是否有问题)

Wikidata.org还提供了一些不错的结果,并允许您按“相关性”排序,这有助于将最有可能的答案放在首位。对于
python
,它实际生成一个列表,其中编程语言位于顶部

如果这是我的项目,我可能会从Wikidata和一个包含所需类别的单词列表开始测试。然后处理解析逻辑,尽可能多地捕获最终可能依赖自然语言的变体

作为记录,我在Wikipedia/Wikidata之外测试的API没有一个返回任何与计算机有关的
Python