Unix-way CLI-утилита для дампа веб-страниц как это делают браузеры?
Наверное, все знают о возможности браузеров сохранять отдельные страницы локально (ещё называют, «для автономного просмотра»). Они выполняют такое сохранение в довольно удобном формате: html-файл с подправленными путями к ресурсам и папка с ресурсами, от которых он зависит. Вот именно в таком формате я бы хотел иметь возможность скачивать страницы по URL из командной строки. Но дело в том, что поиск такой простой казалось бы утилиты в Интернете ни к чему не привёл.
Надеюсь, что кто-то на Хабре знает о существовании такой программы/скрипта и поделится ссылкой на неё. Написание данной утилиты самостоятельно не представляется какой-то особой сложностью, но не хочется изобретать велосипед без необходимости (я практически уверен, что кто-то что-то подобное уже написал).
P.S. Использование wget и подобных программ немного не то, так как они сохраняют страницы с отличной от необходимой структурой каталогов, ну или я не знаю каких-то их ключей…
Только скачивает все ресурсы в сам html в виде datauri, кроме файлов больше 1MB (константу можно уменьшить внутри скрипта), их в отдельно в папку рядом.
JS/CSS превращает в инлайновые, чтобы скачивало js нужно запускать с -j.
Большое спасибо за скрипт. У меня из зависимостей ещё не хватало LWP::UserAgent. А вообще похоже на то, что я искал (встраивание может быть даже удобнее чем складывание в каталог рядом).
Попробовал скачать ту страницу с помощью указанной на ней команде, в каталоге появилось 5 папок (ajax.googleapis.com/ cdn.sstatic.net/ pixel.quantserve.com/ superuser.com/ gravatar.com/), а в них много лишнего. Именно поэтому wget мне не подходит (делает то, что нужно, но сохраняет не так).
Посмотрите в сторону ключика -np. Но возможно это не лишнее. Ведь если на странице есть скажем картинка с CDN (или javascript оттуда, который тоже влияет на отображение страницы), логично же, что ее надо сохранить, иначе отрисовать страницу с этой картинкой невозможно.