使用Pywikibot从Wikidata获取别名

时间:2019-01-09 10:41:07

标签: python python-3.x pywikibot

我正在尝试使用Pywikibot从Wikidata获取某个实体的所有别名。

import pywikibot
site = pywikibot.Site("en", "wikipedia")
page = pywikibot.Page(site, "Barack Obama")
item = pywikibot.ItemPage.fromPage(page)
item_dict = item.get()
names = item_dict['aliases']['en']
print(names)

它将打印:“ [''巴拉克·侯赛因·奥巴马二世','巴拉克·奥巴马二世','巴拉克·侯赛因·奥巴马','奥巴马','巴拉克·奥巴马','巴里·奥巴马','奥巴马总统','巴拉克总统奥巴马”,“ BHO”,“巴拉克”]“

到目前为止,一切都很好。但是,如果输入从其中获得的别名之一,则不会得到任何输出。 意思是如果我将第三行替换为

page = pywikibot.Page(site, "Obama")

找不到别名。 “巴拉克·奥巴马”(https://www.wikidata.org/wiki/Q76)的Wikidata的标题为“巴拉克·奥巴马”。我需要从包含的任何可能别名中访问别名,而不仅仅是“主要”别名。

有人知道如何解决这个问题吗?

0 个答案:

没有答案