1

我试图从 wikidata 中提取“也称为”信息。例如,通过访问 elvis 的页面(https://www.wikidata.org/wiki/Q303),我想获得“Elvis,Elvis Aaron Presley,The King,The King Of Rock'n'Roll”的信息

我在 Python 3.5 上使用 pywikibot 作为脚本。

知道我可以抓取页面的文本(似乎不包含这些同义词),以及右侧带有翻译的 Itempage。

import pywikibot
 site = pywikibot.Site('en', 'wikipedia')
page = pywikibot.Page(site, 'Elvis Presley')
item = pywikibot.ItemPage.fromPage(page)

item.get()  # you need to call it to access any data.
sitelinks = item.sitelinks
print(sitelinks)

先感谢您!

4

1 回答 1

1

你的代码看起来不错。您只需获取别名而不是附加链接,例如:

from pprint import pprint
pprint(item.aliases['en'])

它为您提供了预期的列表:

['Elvis',
 'Elvis Aaron Presley',
 "The King of Rock'n'Roll",
 "King of Rock'n'Roll",
 'Elvis Aron Presley',
 "The King of Rock 'n' Roll",
 "King of Rock 'n' Roll",
 'The King',
 'Elvis A. Presley']
于 2021-02-03T14:54:14.987 回答