Как получить свойства - значения из WikiData
У меня проблемы с использованием библиотеки Python для получения информации из WikiData.
Я пытаюсь получить данные на основе идентификатора страницы WikiData, например, "Q2" (Земля).
Я подумываю об использовании dict для хранения корреспонденции [имя уместности] -> [список значений], но сейчас я просто печатаю их.
Я использую эту библиотеку WikiData и мне удалось получить какой-то результат, но есть некоторые случаи, которые я не могу понять, как ее охватить.
Особенно у меня проблемы с получением нескольких значений из правил, и я прибегнул к жесткому коду в некоторых случаях, которые, я думаю, не лучший способ продолжить.
Библиотека, которую я использую, кажется более сложной, чем код, с которым я работал, и поэтому я мог упустить очевидное решение, предоставляемое библиотекой.
Это код у меня в настоящее время
import wikidata
idd = "Q2" # Earth
client = wikidata.client.Client()
entity = client.get(idd, load = True)
for x in (list(entity)): # Iterate over properties
prop = client.get(x.id, load = True)
print("\nPropriety ID:\t" + str(x.id) + "\tPropriety NAME:\t" + str(prop.label))
try:
if type(entity[prop]) is wikidata.entity.Entity:
print(entity[prop].label)
else:
print(entity[prop])
except Exception as e:
try:
param = str(e).split("unsupported type: ")[1].replace("'",'"')
d = json.loads(param)
print(d["value"]["amount"])
except:
print (e)
Я мог бы оценить любое предложение о том, как получить кратные значения из одного приличия или другого способа достижения моего результата!