(ссылка-пример: https://ru.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro&explaintext&redirects=1&titles=Аркейн)
Я этот JSON гружу в словарь: wiki_answer = json.loads(r.text)
Как теперь взять из этого словаря значение "поля" extract, учитывая то, что ключ '6683972' для разных статей разный и я его значения не знаю...
Я нагородил такое:
print( list(wiki_answer['query']['pages'].values())[0]['extract'] )
но может быть можно/нужно как-то проще?
блин, не там обвел 6683972, надо на строку выше
Наверное нет.
На работу это не сильно повлияет, разве там values немного дольше будет перебирать если значен мнго
то есть то, что я сделал: list(словарь.values())[0] это правильный способ взять первый элемент словаря, если не знаешь значения ключа первого элемента?
Что значит "первый"? Первый попавшийся?
Да, я об этом тоже думал, потому, что я фиг знает, как это работает в Питоне. Но в JSON'ах которые возвращает Википедия я пока видел только один элемент в словаре pages. Так что первый и единственный, надеюсь
А можно ссылку на доку про эти жсоны? Мне кажется там может быть больше одного ключа в некоторых ситуациях
ну наверное может быть больше одного, раз уж ключ называется pageS... но пока я видел только один. дока примерно вот: https://en.wikipedia.org/w/api.php?action=help&modules=query%2Bextracts
How many extracts to return. (Multiple extracts can only be returned if exintro is set to true.) Type: integer or max The value must be between 1 and 20. Default: 20
next(iter(словарь.values()))
Обсуждают сегодня