LINUX.ORG.RU

«Запечь» картинки в html файле

 , , ,


2

3

Здравствуйте.

Есть простейшая «страница.html» рядышком каталог «/страница.html.files», в каталоге картинки, только картинки, и ничего, кроме картинок, теги <img> страницы.html на эти картинки ссылаются.

Меня интересует способ отвязать эту страницу от папки, преобразовав ссылки на картинки в прямые их base64-описания. Всё, что находил по теме - либо не работает, либо не то.

Интересуюсь у добрых людей, вдруг случайно у кого-нибудь в копилочке есть рабочий сервис такого рода.

Спасибо за внимание.

Перемещено ilinsky из talks

★★★★★
Ответ на: комментарий от panter_dsd

Это и есть моя изначальная задача - одна автономная страница со вшитыми картинками. Можно и подвинуть условия. Можно многое. Можно вообще забить. Но сейчас актуально именно это.

piyavking ★★★★★
() автор топика
Ответ на: комментарий от EXL

Хммм...

Делается разметка в Markdown и там же вставляются картинки

А просто импорт этой разметки из хтмл оно может есть, интересно?

Спасибо за наводку, покурю этот pandoc...

piyavking ★★★★★
() автор топика

MHT/MAFF. Первая разновидность, кстати, редчайший пример случая того, как Microsoft сделал свой формат, но сделал его полностью на основе открытых, понятных структур данных, не лепя никаких противоестественных велосипедов. Вторая разновидность – детище Мозиллы.

Почему современные браузеры не хотят в это сохранять – для меня загадка.

hobbit ★★★★★
()

использую формат MHTML большинство бравзеров его поддерживает. внутренности просты и логичны.

перед сохранение запускаю встроенный в бравзер инструмент разработчика и вырезаю все script к дизайнерам в ж…
также по интересу чищу интерфейс от понтов и рекламы.
получается маленький эффективный аккуратный файл.

pfg ★★★★★
()

Это нерешаемая в общем случае задача. img src может заменяться скриптами. Можно разве что сделать «скриншот», снять копию DOM, и в неё зашить картинки без скриптов.

neumond ★★
()

Попробуй

На коленке, но вроде работает. Сохранил эту страницу через firefox с ресурсами, эту страницу передал утилитке, на выходе комбинированная страница с встроенными картинками, размер увеличился раз в 6

Рекламные картинки не присобачились, и глазика нет

Как-то так. Самый минимум делает, с остальным разбираться пока не хоца, потом может

можно написать в разы короче на base64/sed/bash, кому надо пусть и пишут хехе

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)

попроси дикпик написать с requests и beautiful soup. чтобы все js скрипты склеивал и вставлял как inline, так же стили, а картинуи заменял на data:base64. можно еще через headless chrome готовый html получать, тогда не нужно будет js подключать и все теги script можно будет вырезать лишь стили осиавить и картинки заменить

rtxtxtrx ★★★
()
15 февраля 2026 г.
Ответ на: комментарий от LINUX-ORG-RU

По мере надобности, доработалось немного, теперь ещё и «само» может через curl вытягивать, а не только собирать блоб из того что скачал браузер. Теперь может впихивать в 1 файл

  • css-стили (как есть)
  • скрипты (как есть)
  • изображения (base64 кодирование, в том числе из внешних CSS)
  • шрифты (base64 кодирование, в том числе из внешних CSS)
  • видео (base64 кодирование)
  • аудио (base64 кодирование)

Можно отключать ненужное ключами, отключается только то что по ссылкам, уже изначально встроенное в страницу не исключается.
Утилита как была кривой, так и осталась. Но работает и ладно.

По умолчанию сначала пробует дёрнуть локальный файл, если нету, то лезет в сеть за ним, можно этот порядок поменять (или запретить скачку или/и локальные файлы). Даже если скачать браузером например, тот не скачает реально всё что надо, а ссылки в css например оставит, а там могут быть картинки и например стилизованные шрифты.

Так как некоторые страницы хитрые и их попытка скачать просто через pagepack приводит к кривости, то идеальный вариант, это скачать страницу с ресурсами браузером, а потом скормить её pagepack тот соберёт все файлы что есть в блоб, и ещё сам попутно докачает то что не докачал браузер.

Но для строгих и классических веб страничек типа ЛОРа, можно тупо скармливать ссылку.


P.S. Ой, я что-то сломал… P.P.S А не, всё нормально, утилита же кривая, пойдёт.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)