Как скачать весь сайт или используем WGet
Выкачивал сегодня копию своего старого профблога с помощью утилиты wget и решил рассказать о ней подробнее.
С помощью WGet можно качать сайты целиком, отдельные файлы или набор файлов по списку. Но отличие от других оффлайн-броузеров (например, Teleport Pro), WGet работает из командной строки. Сначала это кажется неудобным, но это неудобство легко решается с помощью простейшего BAT-файла. Например, я для себя сделал вот такой:
@echo off
set /p URL=Enter URL (with no http://):
if "%URL%"=="" goto error
D:\Soft\WGet\wget.exe -r -l0 -k -np -p -nv -nH -E -t 4 -N -c http://%URL% -P D:\Sites\
goto end
:error
echo No site specified!
:end
pause
Этот скрипт запросит имя сайта при запуске и затем скачает его в каталог D:\Sites\имя_сайта.
Некоторые наиболее полезные при скачивании сайта ключи wget:
- -r — рекурсивное скачивание: скачается не только указанная страница сайта (т.е. главная), но и все, на которые она ссылается.
- -l0 — глубина рекурсии (0 — неограниченная).
- -k — коррекция гиперссылок так, чтобы они стали локальными.
- -np — не подниматься выше указанного каталога (полезно при скачивании одного раздела сайта).
- -p — загрузка вспомогательных элементов для отображения Web-страницы: CSS, JavaScript и т.п. Без данного ключа будет скачиваться только HTML.
- -nv — подавление выдачи части сообщений.
- -hH — не создавать каталог с именем хоста.
- -E — сохранять файлы с расширением HTML.
- -N — учет временной метки (заголовка Last-Modified): скачиваются только те файлы, которые обновились.
- -t — количество попыток скачивания файла в случае возникновения ошибки.
- -P — каталог, в который следует сохранить сайт.
- -A — скачивать файлы, соответствующие шаблону. Шаблон может быть либо частью имени файла, либо задаваться с помощью символа *. Так, например, скачать все файлы с расширением .gif можно либо с помощью -A .gif, либо -A *.gif.
- -R — пропускать файлы, соответствующие шаблону. Шаблоны задаются так же, как для опции -A.
Кроме скачивания сайтов, wget имеет еще несколько применений. Самое простое и очевидное — закачивать дистрибутив какой-либо программы напрямую, без предварительной выгрузки на свой компьютер и закачку с него по FTP (для этого нужен доступ к командной строке на сервере). Делается это командой wget -c URL_файла (ключ -c означает скачивание с докачкой).
Так же можно использовать wget в отладочных целях или для автоматизации каких-либо действий скриптами, например, мониторинга удаленного сайта. Например, с помощью него можно посылать дополнительные заголовки в запросе, просматривать ответы сервера, отправлять POST-запросы и т.д. Тут полезными окажутся такие ключи:
- -S — вывод ответа сервера.
- --spider — только получение ответа сервера, без сохранения в файл.
- --header=строка_заголовка — добавить в заголовок запроса указанную строку.
- --load-cookies и --save-cookies — загрузка и сохранение cookies в файл.
- --post-data и --post-file — отправка строки данных или данных из файла POST-запросом.
Получить wget очень легко: в Linux он сразу же устанавливается почти во всех дистрибутивах, для Windows его можно скачать по адресу http://users.ugent.be/~bpuype/wget/. Установки он не требует, поэтому можно носить с собой на флешке или любом другом носителе.
Я работаю сборщиком заказов, а продавцы хитры, все свои бока могут и возможно перекладывают на меня. Решил попробовать сохранять изначальный вид альбомов и его содержимого. Я могу как-то настроить батник или софт под свой логин и пароль к сайту вк, чтобы он не сохранял мне страницу с предупреждением "только авторизированные пользователи имеют доступ"? Помоги решить данную проблему, может есть уже готовое решение? Заранее спасибо вам!