Форум сайта python.su
Уважаемые программисты, помогите, пожалуйста, решить проблему.
Пишу небольшой парсер, использую GRAB
Загвоздка случилась с картинкой PNG
По ссылке возвращается такая строка:
PNG
IHDRf
pHYs+IDATX͋E,0,ְrO “$(9A<”Dį
*'HڮTCKךJ4EFxbqUGYa4ul787Ӱi]S_e<VwdaqOP59k8~M7;ֽ;O<%_A<+8ϷpGDzF>#y%“4h
8Of`spnB|ds
T6=g1WYY|lU30췪~p+∈݈x8_4D͈ʞRT'pto.|jD”؈1NӶI]DlG("K`JDE>g=yuk)7սf`s4]ӐbJ NW6%ΤNp;7=\dzZZRK`sZQoJ4dnK6
)SniH<ySi[%Y~4dĂa_ق
CIENDB`
with open('time.png', 'wb') as f34: f34.write(g2.response.body.read()) f34.close()
Офлайн
Это скрин с ответом сервера. Как я понимаю это png в виде строки, как его обработать?
Отредактировано Seganapa (Март 20, 2015 16:30:42)
Прикреплённый файлы:
1.png (53,4 KБ)
Офлайн
Перерыл весь google, так и не нашел толковой информации. Кто-то советует использовать
urllib.request.urlretrieve
Отредактировано Seganapa (Март 21, 2015 09:29:38)
Офлайн
Если картинка всегда одинаковая:
Скачай картинку через браузер и посмотри её содержимое.
Сравни её содержимое с результатом, полученным через grab.
g2.response.body.read()
Отредактировано py.user.next (Март 21, 2015 11:32:03)
Офлайн
g2.response.body.read()
AttributeError: 'str' object has no attribute 'read'
Офлайн
SeganapaЭта строка взята из первого сообщения.AttributeError
SeganapaКак тогда получается файл, если там исключение?
Получается невалидный PNG
Офлайн
Исключение получается если я пытаюсь сделать
g2.response.body.read()
g2.response.body
Отредактировано Seganapa (Апрель 1, 2015 18:44:40)
Офлайн
Выложи весь код, который неправильную картинку делает.
Офлайн
Посмотрите что конкретно записывается в файл в каком-нибудь HEX-редакторе. Или выложите сюда
Офлайн