Python Написать программу, которая будет циклом загружать картинки с любого сайта
У меня почему то выдает ошибку и не знаю вообще я правильно сделал, не могли бы вы подсказать
Traceback (most recent call last):
File "c:\Users\Desktop\python\.py", line 21, in <module>
print((photo.json()))
AttributeError: 'str' object has no attribute 'json'
import requests
photo = requests.get(url="https://jsonplaceholder.typicode.com/photos/1")
photos_list = photo.json()
for photo in photos_list:
print((photo.json()))
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
У вас приходит вот такой json:
{'albumId': 1,
'id': 1,
'title': 'accusamus beatae ad facilis cum similique qui sunt',
'url': 'https://via.placeholder.com/600/92c952',
'thumbnailUrl': 'https://via.placeholder.com/150/92c952'}
Это не список, это словарь. Когда вы итерируетесь по словарю, то просто перебираете его ключи, то есть строки. А у строк конечно нет метода .json(), поэтому photo.json() даёт ошибку.
Чтобы в дальнейшем разбираться больше во всём самому, а не спрашивать по каждой ошибке кого-то просто пробуйте делать print каждой сущности, которую получаете в своём коде. Если бы вы напечатали photos_list и photo, то возможно поняли бы, в чём проблема.
Перебрать значения словаря можно так:
for key, val in photos_list.items():
print(f"{key}: {val}")