Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для ArtemKrass
8 / 8 / 1
Регистрация: 21.11.2012
Сообщений: 133

Невалидный PNG при парсинге Grab

20.03.2015, 17:34. Показов 1130. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые программисты, помогите, пожалуйста, решить проблему.

Пишу небольшой парсер, использую 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`
Как я понимаю это png в виде строки, как его обработать?

Не получается из нее создать файл PNG.
Пробовал так:
Python
1
2
3
with open('time.png', 'wb') as f34:
    f34.write(g2.response.body.read())
    f34.close()
Получается невалидный PNG

Как решить проблему?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.03.2015, 17:34
Ответы с готовыми решениями:

Как сохранять cookies при использовании grab.spider?
Добрый день форумчане. Есть вопрос по работе библиотеки спайдер. Написан простенький класс для логина на сайте. При переходе из...

Появляются лишние символы при сохранении страниц html при парсинге с Селениум
В коде такой фрагмент. С проблемой сталкивался на разных сайтах. На заднем плане скриншот из браузера. На переднем из текстового редактора...

Проблемы при парсинге статьи. Удаляются некоторые данные при сохранении полученной страницы
Здравствуйте. Наткнулся на интересную защиту от парсинга. Получаю страницу с помощью WebBrowser или CefSharp. Таким образом JS...

8
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
20.03.2015, 19:34
ArtemKrass, Используй для скачивания
Python
1
urllib.request.urlretrieve
0
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
21.03.2015, 02:58
ArtemKrass, а лучше requests)
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
21.03.2015, 09:07
Цитата Сообщение от Wolkodav Посмотреть сообщение
а лучше requests)
requests очень класная штука, но в данном случае, она тут вообще не причём.
0
 Аватар для ArtemKrass
8 / 8 / 1
Регистрация: 21.11.2012
Сообщений: 133
21.03.2015, 10:42  [ТС]
А можно ли как-то завязать
Python
1
urllib.request.urlretrieve
с Grab? Просто для получения этого png в запросе нужно передавать хитрые заголовки, куки... Или придется отдельно все это привязывать?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
21.03.2015, 14:19
Цитата Сообщение от ArtemKrass Посмотреть сообщение
А можно ли как-то завязать
Да ну, а почему нет то? Используй.
0
 Аватар для ArtemKrass
8 / 8 / 1
Регистрация: 21.11.2012
Сообщений: 133
21.03.2015, 17:25  [ТС]
Как? Можно пример? Чтобы в запрос
Python
1
urllib.request.urlretrieve
передались заголовки и куки из Grab.
0
 Аватар для ArtemKrass
8 / 8 / 1
Регистрация: 21.11.2012
Сообщений: 133
30.03.2015, 09:44  [ТС]
Ребят, что-то ничего не клеится. А может ли быть так, что PNG возвращается архивом, и поэтому у меня не получается его прочитать? Помогите, пожалуйста разобраться?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
30.03.2015, 09:52
Ты сайт покажи, что за картинку сохраняешь. Наугад помогать сложновато.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.03.2015, 09:52
Помогаю со студенческими работами здесь

Ошибка при парсинге!
&lt;?php header('Content-type: text/html; charset=utf-8');?&gt; &lt;!doctype html&gt; &lt;html class=&quot;no-js&quot; lang=&quot;ru&quot; dir=&quot;ltr&quot;&gt; &lt;head&gt; ...

Ошибка при парсинге
&lt;form action=&quot;&quot; method=&quot;post&quot; name=&quot;s&quot;&gt; &lt;textarea cols=&quot;50&quot; rows=&quot;10&quot; name=&quot;area&quot;&gt;&lt;/textarea&gt;&lt;br&gt;&lt;br&gt; &lt;input type=&quot;submit&quot; value=&quot; ...

Кодировка при парсинге
Здравствуйте, господа. Вопрос, наверно, набивший оскомину, про кодировки при парсинге какого-либо сайта. В уже существующих темах...

Ошибка при парсинге
Короче есть код для парсинга сайта, первый раз он почти спарсил всё что нужно, но потом при повторных перезапусках в строке 42 он может...

Авторизация при парсинге
Хотел спарисить эл. дневник, собственно для этого и нужно войти в кабинет. Код стандартный но сайт не может распознать данные....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru