Как из JSON получить url если один из элементов меняет свое значение?

import json
import requests





url = 'https://en.wikipedia.org/w/api.php?action=query&titles=50_Cent&prop=pageimages&format=json&pithumbsize=500'

response = requests.get(url, headers={'User_Agent': UserAgent().chrome})
# Если код ответа сервера 200 (сервер доступен)
if response.status_code == 200:
    a = json.loads(response)
    html = response.text  #.content ТЕКСТ
    print (html)
    print (a)

как вытащить "https://upload.wikimedia.org/wikipedia/commons/thumb/6/64/50_Cent.jpg/394px-50_Cent.jpg" в переменную, если pageid для каждой другой страницы другой (другого url)?

{"batchcomplete":"","query":{"normalized":[{"from":"50_Cent","to":"50 Cent"}],"pages":{"192481":{"pageid":192481,"ns":0,"title":"50 Cent","thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/6/64/50_Cent.jpg/394px-50_Cent.jpg","width":394,"height":500},"pageimage":"50_Cent.jpg"}}}}

или по другому:

    {
   "batchcomplete":"",
   "query":{
      "normalized":[],
      "pages":{
         "192481":{
            "pageid":192481,
            "ns":0,
            "title":"50 Cent",
            "thumbnail":{
               "source":"https://upload.wikimedia.org/wikipedia/commons/thumb/6/64/50_Cent.jpg/394px-50_Cent.jpg",
               "width":394,
               "height":500
            },
            "pageimage":"50_Cent.jpg"
         }
      }
   }
}

Ответы (2 шт):

Автор решения: Denis640Kb

Пожалуй не самый лучший вариант, но рабочий. Можно так(даже, если подобных pageid может быть несколько)

bz = {
   "batchcomplete":"",
   "query":{
      "normalized":[],
      "pages":{
         "192481":{
            "pageid":192481,
            "ns":0,
            "title":"50 Cent",
            "thumbnail":{
               "source":"https://upload.wikimedia.org/wikipedia/commons/thumb/6/64/50_Cent.jpg/394px-50_Cent.jpg",
               "width":394,
               "height":500
            },
            "pageimage":"50_Cent.jpg"
         }
      }
   }
}

for key in bz['query']['pages']:
    print(bz['query']['pages'][key]['thumbnail']['source'])
→ Ссылка
Автор решения: Wairua

сначала pip install jsonpath-ng
потом:

from jsonpath_ng import parse, jsonpath
import json


if __name__ == '__main__':

    # Этот блок вы меняете на свой где получаете json в переменную
    with open('./test.json', 'r') as j_file:
        jfile = json.load(j_file)
    # ===============================================================

    j_exp = parse('$..source')

    for source in j_exp.find(jfile):
        print(source.value)

материал по библиотеке jsonpath-ng

→ Ссылка