Как получить свойства - значения из 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)

Я мог бы оценить любое предложение о том, как получить кратные значения из одного приличия или другого способа достижения моего результата!

0 ответов

Другие вопросы по тегам