О-о-очень давно, в диалабовские времена, мой друг Денис предпочитал ночью скачивать сайты целиком (из-за низкой скорости соединения), а днем читать их в автономном режиме, без ожиданий, пока страница загрузится. Пользовался Денис программой Teleport-Pro, которая не только переходила в глубину сайта на заданное число ссылок, но и слинковывала скачанное для последующего просмотра сайта офлайн. Передо мной стояла задача скачать множество мелких файликов с сайта, который мог исчезнуть в любой момент. Кликать по одному файлу - муторно и скучно, поэтому я и вспомнил Дениса. Ведь можно скачать страницу, с которой я загружаю файлы со всеми ссылками, за которыми находятся файлы, вместе с файлами единой командой, которую отыскал всеведущий Google.
Чтобы скачать сайт целиком с помощью wget, нужно выполнить команду:
wget -r -k -l 7 -p -E -nc http://site.com/
После выполнения данной команды в директорию site.com будет загружена локальная копия сайта http://site.com. Чтобы открыть главную страницу сайта, нужно открыть файл index.html.
Рассмотрим используемые параметры:
-r — указывает на то, что нужно рекурсивно переходить по ссылкам на сайте, чтобы скачивать страницы.
-k — используется для того, чтобы wget преобразовал все ссылки в скаченных файлах таким образом, чтобы по ним можно было переходить на локальном компьютере (в автономном режиме).
-p — указывает на то, что нужно загрузить все файлы, которые требуются для отображения страниц (изображения, css и т.д.).
-l — определяет максимальную глубину вложенности страниц, которые wget должен скачать (по умолчанию значение равно 5, в примере мы установили 7). В большинстве случаев сайты имеют страницы с большой степенью вложенности и wget может просто «закопаться», скачивая новые страницы. Чтобы этого не произошло можно использовать параметр -l.
-E — добавлять к загруженным файлам расширение .html.
-nc — при использовании данного параметра существующие файлы не будут перезаписаны. Это удобно, когда нужно продолжить загрузку сайта, прерванную в предыдущий раз.
Сложилось такое впечатление, что поскольку команду запускал ~$ как есть после открытия терминала, то в домашнюю папку и легла скачанная папка, следующий раз надо будет попробовать, запустить в другом месте (после перехода на примонтированный жесткий диск, к примеру, в таком случае папка создалась на HDD (проверено).
PS. Замучился бы кликать, если бы не эта команда.
Получается, что в папке, куда качался сайт, появляется папка с именем сайта, внутри которой, среди прочего есть файлик index.html.Открываю его в браузере - открывается главная страница сайта. При этом в адресной строке уже не http://, а file:// и путь к папке, где лежит всё это хозяйство. При переходе по ссылке переходит на file://, то есть ссылки перелинкованы из сети на диск, как и в телепорте.
У Wget есть Help, вызываем командой
wget --help
А в ответ описание всех ключей...