我们如何使用 pywikibot获得 Wikidata 属性(例如: P31 )的人类可读的属性描述?
问问题
1201 次
1 回答
1
您可以使用action=wbgetentities
属性,就像使用普通项目一样。
要获得所有人类可读的描述P31
:
https://www.wikidata.org/w/api.php?action=wbgetentities&ids=P31
并将结果限制为一种语言(英语):
https://www.wikidata.org/w/api.php?action=wbgetentities&ids=P31&languages=en
仅将 pywikibot 用于该任务似乎有点矫枉过正(pywikibot 是一个用于构建进行大规模编辑等的机器人的框架,主要在 Wikipedia 上)。我不确定这是否可能。
还有其他更轻量级的框架,例如wikitools。使用 wikitools,您可以执行以下操作:
from wikitools import Wiki, APIRequest
pid = "P31"
endpoint = "http://commons.wikimedia.org/w/api.php"
username = "XXX"
password = "XXX"
site = Wiki(endpoint, username, password)
params = {'action':'wbgetentities', 'ids': pid}
request = APIRequest(site, params)
result = request.query()
print result["entities"][pid]["descriptions"]
于 2015-04-14T13:36:29.437 回答