Бортовой журнал Ктулху

Шпаргалка по wget

Все началось с оборванной закачки в хроме. Я вдруг понял что под рукой нет какой-то шпаргалки с быстрыми командами для wget. Если не хочется или некогда читать ман, то читайте далее.

Загрузка всех URL, указанных в файле FILE:

wget -i FILE

Скачиваем файл в указанный каталог (-P):

wget -P /path/for/save ftp://ftp.example.local/some_file.iso

Скачиваем в фоновом режиме (-b):

wget -b ftp://ftp.example.local/some_file.iso

Продолжить (-c continue) загрузку ранее не полностью загруженного файла:

wget -c http://example.local/file.iso
wget -r -l10 http://example.local/ -o log

Скачать содержимое каталога http://example.local/~DAM/LINUX/ и всех его подкаталогов, при этом не поднимаясь по иерархии каталогов выше:

wget -r -no-parent http://example.local/~DAM/LINUX/

Для того, чтобы во всех скачанных страницах ссылки преобразовывались в относительные для локального просмотра, необходимо использовать ключ —k:

wget -r -l10 -k http://example.local/

Также поддерживается идентификация на сервере:

wget -save-cookies cookies.txt \
-post-data 'user=foo&password=bar' \
http://example.local/auth.php

Скопировать весь сайт целиком:

wget -r -k -l 7 -p -E -nc http://example.local/

Рассмотрим используемые параметры:
-r
указывает на то, что нужно рекурсивно переходить по ссылкам на сайте, чтобы скачивать страницы.
-k
используется для того, чтобы wget преобразовал все ссылки в скаченных файлах таким образом, чтобы по ним можно было переходить на локальном компьютере (в автономном режиме).
-p
указывает на то, что нужно загрузить все файлы, которые требуются для отображения страниц (изображения, css и т.д.).
-l
определяет максимальную глубину вложенности страниц, которые wget должен скачать (по умолчанию значение равно 5, в примере мы установили 7). В большинстве случаев сайты имеют страницы с большой степенью вложенности и wget может просто «закопаться», скачивая новые страницы. Чтобы этого не произошло можно использовать параметр -l.
-E
добавлять к загруженным файлам расширение .html.
-nc
при использовании данного параметра существующие файлы не будут перезаписаны. Это удобно, когда нужно продолжить загрузку сайта, прерванную в предыдущий раз.