pyInstagram icon indicating copy to clipboard operation
pyInstagram copied to clipboard

KeyError: 'thumbnail_resources'

Open AlexXG0152 opened this issue 4 years ago • 2 comments

When i'm try example from readme - something went wrong today. Yesterday everything been ok)

`Traceback (most recent call last): File "C:\Python\lib\site-packages\instagram\agents.py", line 102, in get_media m.set_data(node) File "C:\Python\lib\site-packages\instagram\entities.py", line 162, in set_data child.resources = [resource["src"] for resource in edge["node"]["thumbnail_resources"]] KeyError: 'thumbnail_resources'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Python\tryinstagram.py", line 11, in media1, pointer = agent.get_media(account) File "C:\Python\lib\site-packages\instagram\exceptions.py", line 119, in wrapper raise exception File "C:\Python\lib\site-packages\instagram\exceptions.py", line 114, in wrapper return func(obj, args, **kwargs) File "C:\Python\lib\site-packages\instagram\agents.py", line 123, in get_media raise UnexpectedResponse( instagram.exceptions.UnexpectedResponse: Get unexpected response from 'https://www.instagram.com/*********************' Error: 'thumbnail_resources'`

AlexXG0152 avatar Apr 02 '20 19:04 AlexXG0152

I got the same problem.

yudgnahk avatar Apr 03 '20 03:04 yudgnahk

As a temporary solution to the problem you can simply delete or comment lines 159-162 in the file entities.py. If you do not use child.resources in your program, this temporary solution should suit you.

The error itself appears if the media is an album ('__typename': 'GraphSidecar'). For some reason, the response does not contain ["node"] ["display_resources"] or ["node"] ["thumbnail_resources"], although the browser still has them. I've come to the point that it all starts with another 41 lines agents.py (response = self.get_request(query, **settings)) since already at this stage, response. text does not contain ["node"] ["display_resources"] or ["node"] ["thumbnail_resources"] for albums.


Как временное решение проблемы можно просто удалить или закомментировать строки 159-162 в файле entities.py. Если вы в своей программе не используете child.resources данное временное решение должно вас устроить.

Сама ошибка появляется если медиа является альбомом ('__typename': 'GraphSidecar'). По какой-то причине в ответе отсутствуют ["node"]["display_resources"] или ["node"]["thumbnail_resources"], хотя в браузере они по прежнему есть. Я пришел к тому, что это все начинается еще с 41 строки agents.py (response = self.get_request(query, **settings)) так как уже на этом этапе response.text не содержит ["node"]["display_resources"] или ["node"]["thumbnail_resources"] для альбомов.

KoNeTaLL avatar Apr 03 '20 21:04 KoNeTaLL