Wikidata API wbsearchentities:为什么 Python 中的结果与 Wikidata 中的结果不同?

Wikidata API wbsearchentities: why are results not the same in Python than in Wikidata?

我在 python 请求中使用 wbsearchentities (wikidata api),我想知道为什么返回的结果与在 Wikidata 上看到的结果不同。例如,Python中的以下命令:

url = "https://www.wikidata.org/w/api.php?action=wbsearchentities&search=%s&format=json&limit=50&formatversion=2&language=en" % ('New York Landmarks Preservation Commission')
r = requests.post(url,headers={"User-Agent" : "Magic Browser"})

returns 在维基数据的搜索框中搜索相同 returns 2 个结果(一个是好的:纽约 城市 Landmarks Preservation佣金。

理想情况下,我希望从我的 python 请求中返回所有这些结果。

维基数据右上角的搜索框使用 wbsearchentities API 模块提供自动建议下拉搜索。

如果您在输入搜索后按 Enter 而不是单击其中一个建议,您将最终进入 Special:Search 页面。

如您所见,他们 API 结果 returns no results but the special page does

这是因为这些搜索以完全不同的方式工作。

  • Special:Search页面是Wikibase提供的MediaWiki概念 数据到.
  • Wikibase 自身提供的 wbsearchentities API 模块。