Получить описание недвижимости Викиданных?

Как мы можем получить удобочитаемое описание свойства Wikidata (например, P31), используя pywikibot?

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 - это фреймворк для создания ботов, которые выполняют массовое редактирование и т. П., В основном в Википедии). Я не уверен, что это даже возможно.
Существуют и другие, более легкие фреймворки, такие как 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"]
Другие вопросы по тегам