Если вы посмотрите на вывод, это не гарантирует, что image_list является словарем.
'image_list': ['http://abc.jpeg']
Вам необходимо правильно обработатьразличные сценарии.Если это список, просто обработайте его как список.
См. Этот пример
def get_images(json):
if not json.get('data'):
return
for item in json.get('data'):
title = item.get('title')
images = item.get('image_list')
if not images: # This can be None as well. If so, just skip.
continue
print('images type:', type(images))
for image in images:
if not image:
continue
print('image type:',type(image),image)
if isinstance(image, dict):
im = image.get('url')
else:
im = image[0] # You should probably iterate this list.
http_url = 'http:' + im
results = {
'image': http_url,
'title': title
}
yield results
Имейте в виду, что это решает только две из проблем, вам все равно нужно правильно обрабатывать случаи, когда естьявляются кратными изображениями внутри самого изображения.