Получить описание недвижимости Викиданных?
Как мы можем получить удобочитаемое описание свойства 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"]