pyInstagram
pyInstagram copied to clipboard
Проблема с парсингом русских тегов
При попытке вызова функции get_media() с числом записей - 1000, для любого тега из кириллицы, например "#коты", выдает ошибку: File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 1212, in putheader values[i] = one_value.encode('latin-1') UnicodeEncodeError: 'latin-1' codec can't encode characters in position 33-35: ordinal not in range(256)
Проблема решилась изменение кодировки obj из utf-8 в url-encoded, в файле agents.py Можно ли предусмотреть решение этой проблемы в будущих версиях, или я упустил уже существующее?)
Можно предусмотреть, сделайте, пожалуйста, pull request с Вашими изменениями, и прикрепите максимально возможную информацию об ошибке, мне это очень поможет!
Можно предусмотреть, сделайте, пожалуйста, pull request с Вашими изменениями, и прикрепите максимально возможную информацию об ошибке, мне это очень поможет!
https://github.com/OlegYurchik/pyInstagram/blob/de6495836fc2b31c4080d376ff4af282a25edbb8/instagram/agents.py#L140
В 140 строке необходимо добавить quote (предварительно импортировав from urllib.parse import quote
):
referer="https://instagram.com/" + obj.base_url + quote(getattr(obj, obj.primary_key)),
Это касаемо get_media
при использовании WebAgent()
для поиска медиа по тегам.