Аватар для ArtemKrass
8 / 8 / 1
Регистрация: 21.11.2012
Сообщений: 133

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

20.03.2015, 17:34. Показов 1139. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 11.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 10.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru