Случается необходимость скачать сайт, причины на то могут быть самые разные и не будем сейчас об этом. О правовой и моральной стороне своих действий, каждый сам способен рассудить. Надо, значит надо!
Нас сейчас интересует техническая возможность и способы реализации задачи.
Хочу предложить решать данную задачу с помощью свободной не-интерактивной консольной программы для загрузки файлов по сети — Wget. Ее преимущество в том, что она поддерживает протоколы HTTP, FTP и HTTPS. Мало того, так она еще способна работать через HTTP прокси-сервер!
И что не может не радовать — программа не только включена почти во все дистрибутивы GNU/Linux, но так же компилируется для Microsoft Windows. Здесь я уже описывал пример работы с данной программой. Но в этом посте будет описано больше полезных ключей для скачивания сайта, а так же пояснения — как работать с ней в O/S Windows. Кстати, это возможно начиная с Windows 95.
Скачать скомпилированную для Windows WGet можно ЗДЕСЬ выбрав среди всех файлов Complete package, except sources. Скомпилированная для Windows WGet, не требует установки — просто запускайте ее в командной строке из той папки в которой находиться wget.exe.
Начну с примера для Linux:
user@home:~/downloads$ wget -r -l0 -k -p -nv -t 5 -c -nH i-notes.org -P /home/user/site/i-notes.org
и для Windows:
D:\\install\WGet\wget.exe -r -l0 -k -p -nv -t 5 -c -nH i-notes.org -P C:\\temp\site\i-notes.org
и пояснений к команде и используемым в команде ключам:
-r — рекурсивная загрузка, т.е. wget скачает все страницы на которые ссылается скачиваемая страница.
-l0 — глубина рекурсии (в данном случае это 0 — т.е. рекурсия неограниченна).
-k — коррекция гиперссылок так, это сделает их локальными.
-np — этот ключ запретит подниматься выше указанного каталога, может пригодиться при скачивании только определенного раздела сайта.
-p — загрузка вспомогательных элементов для отображения Web-страницы: CSS, JavaScript и т.п. Без данного ключа будет скачиваться только голый HTML.
-nv — использовать сокращенные сообщения (чтобы выключить сообщения, см. -q). Сообщения об ошибках и основная информация будут отображаться.
-nH — не создавать каталог с именем хоста. Потому что здесь мы его указали сами «-P /home/user/site/i-notes.org» и он будет создан автоматически.
-E — сохранять файлы с расширением HTML.
-N — —timestamping Включить сравнение по дате. Учет временной метки (заголовка Last-Modified): скачиваются только те файлы, которые обновились.
-t — количество попыток скачивания файла в случае возникновения ошибки.
-P — каталог, в который следует сохранить сайт. В моем случае это /home/user/site/i-notes.org ,для MS Windows пишем что-то вроде C:\\temp\i-notes.org или куда вы будете скачивать.
-A — скачивать файлы, соответствующие шаблону. Шаблон может быть либо частью имени файла, либо задаваться с помощью символа *. Так, например, скачать все файлы с расширением .gif можно либо с помощью -A .gif, либо -A *.gif.
-R — пропускать файлы, соответствующие шаблону. Шаблоны задаются так же, как для опции -A.
-c — Возобновление загрузки файла, если загрузка файла была прервана.
Это основное, что может потребоваться. Для более подробного изучения работы WGet курим русский ман WGet)
2 комментария. Оставить новый
C:wget_testwget.exe -r -l0 -k -p -nv -t 5 -c -nH dikorosoed.ru -P C:wget_testdikorosoed.ru
Сайт около 10 мегабайт
Сайт скачивается, но ссылки под картинками не преобразуются для локального просмотра, а ведут в интернет.
Александер, пропишите http:// перед адресом сайта