Эта статья более лаконична чем предыдущие статьи. Если коротко — Как скачать сайт целиком с помощью wget и какие команды нужно выполнить:
wget --mirror -p --convert-links -P {ваш_каталог} {адрес_сайта} # например, # каталог: ~/Download/ # сайт: https://site.ru/index.html
Ранее я делал так, что избыточно
wget -r -k -l 7 -p -E -nc http://www.site.com/
Используемые параметры для wget
GNU Wget 1.21.2, программа автоматического получения файлов по сети. Использование: wget [ПАРАМЕТР]... [URL]... Обязательные аргументы для длинных параметров являются обязательными и для коротких параметров. Запуск: -V, --version показать версию Wget и завершить работу -h, --help показать эту справку -b, --background после запуска перейти в фоновый режим -e, --execute=КОМАНДА выполнить команду в стиле «.wgetrc» Журналирование и входной файл: -o, --output-file=ФАЙЛ записывать сообщения в ФАЙЛ -a, --append-output=ФАЙЛ дописывать сообщения в конец ФАЙЛА -d, --debug показать много отладочной информации -q, --quiet ничего не выводить -v, --verbose показывать подробные сведения (по умолчанию) -nv, --no-verbose отключить вывод подробных сведений (не полностью) --report-speed=ТИП единицы измерения пропускной способности определить ТИПОМ. ТИП может быть равно bits -i, --input-file=ФАЙЛ загрузить URL-ы согласно локальному или внешнему ФАЙЛУ -F, --force-html считать, что входной файл — HTML -B, --base=URL считать, что ссылки из входного файла (-i -F) указаны относительно URL --config=ФАЙЛ задать файл настроек --no-config не читать файлы настроек --rejected-log=ФАЙЛ протоколировать причины отброса URL в ФАЙЛ Загрузка: -t, --tries=ЧИСЛО установить ЧИСЛО повторных попыток (0 без ограничения) --retry-connrefused повторять, даже если в подключении отказано --retry-on-http-error=ОШИБКИ список (через запятую) ошибок HTTP, вызывающих повтор -O, --output-document=ФАЙЛ записывать документы в ФАЙЛ -nc, --no-clobber пропускать загрузки, которые приведут к загрузке уже существующих файлов (и их перезаписи) --no-netrc не пытаться получить данные из .netrc -c, --continue возобновить загрузку частично загруженного файла --start-pos=СМЕЩЕНИЕ начинать загрузку со СМЕЩЕНИЯ (считается с 0) --progress=ТИП выбрать тип индикатора выполнения --show-progress показывать индикатор выполнения в любом режиме подробности -N, --timestamping не загружать повторно файлы, только если они не новее, чем локальные --no-use-server-timestamps не использовать проверку if-modified-since для запросов в режиме учёта меток времени --no-use-server-timestamps не устанавливать метку времени локальному файлу, полученную с сервера -S, --server-response вывод ответа сервера --spider ничего не загружать -T, --timeout=СЕКУНДЫ установка значений всех тайм-аутов равными числу СЕКУНД --dns-timeout=СЕК установка тайм-аута поиска в DNS в СЕК --connect-timeout=СЕК установка тайм-аута подключения в СЕК --read-timeout=СЕК установка тайм-аута чтения в СЕК -w, --wait=СЕКУНДЫ пауза в СЕКУНДАХ между загрузками (при загрузке более 1 URL) --waitretry=СЕКУНДЫ пауза в 1..СЕКУНДЫ между повторными попытками загрузки (при загрузке более 1 URL) --random-wait пауза в 0.5*WAIT...1.5*WAIT секунд между загрузками (при загрузке более 1 URL) --no-proxy явно выключить прокси -Q, --quota=ЧИСЛО установить величину квоты загрузки в ЧИСЛО --bind-address=АДРЕС привязать АДРЕС (имя компьютера или IP) локального компьютера --limit-rate=СКОРОСТЬ ограничить СКОРОСТЬ загрузки --no-dns-cache отключить кэширование DNS-запросов --restrict-file-names=ОС использовать в именах файлов символы, допустимые в ОС --ignore-case игнорировать регистр при сопоставлении файлов и/или каталогов -4, --inet4-only подключаться только к адресам IPv4 -6, --inet6-only подключаться только к адресам IPv6 --prefer-family=СЕМЕЙСТВО подключаться сначала к адресам указанного семейства (может быть IPv6, IPv4 или ничего) --user=ПОЛЬЗОВАТЕЛЬ установить и ftp- и http-пользователя в ПОЛЬЗОВАТЕЛЬ --password=ПАРОЛЬ установить ftp- и http-пароль в ПАРОЛЬ --ask-password запрашивать пароли --use-askpass=КОМАНДА указать обработчик мандатов для запроса имени пользователя и пароля. Если КОМАНДА не указана, то используется переменная окружения WGET_ASKPASS или SSH_ASKPASS. --no-iri выключить поддержку IRI --local-encoding=КДР использовать КДР как локальную кодировку для IRI --remote-encoding=КДР использовать КДР как удалённую кодировку по умолчанию --unlink удалить файл перед затиранием --xattr включить хранилище метаданных в расширенных файловых атрибутах Каталоги: -nd, --no-directories не создавать каталоги -x, --force-directories принудительно создавать каталоги -nH, --no-host-directories не создавать каталоги как на узле --protocol-directories использовать имя протокола в каталогах -P, --directory-prefix=ПРЕФИКС сохранять файлы в ПРЕФИКС/.. --cut-dirs=ЧИСЛО игнорировать ЧИСЛО компонентов удалённого каталога Параметры HTTP: --http-user=ПОЛЬЗОВ. установить http-пользователя в ПОЛЬЗОВАТЕЛЬ --http-password=ПАРОЛЬ установить http-пароль в ПАРОЛЬ --no-cache отвергать кэшированные сервером данные --default-page=ИМЯ изменить имя страницы по умолчанию (обычно это «index.html») -E, --adjust-extension сохранять документы HTML/CSS с надлежащими расширениями --ignore-length игнорировать поле заголовка «Content-Length» --header=СТРОКА вставить СТРОКУ между заголовками --compression=ТИП тип сжатия: auto, gzip или none (по умолчанию: none) --max-redirect максимально допустимое число перенаправлений на страницу --proxy-user=ПОЛЬЗОВ. установить ПОЛЬЗОВАТЕЛЯ в качестве имени пользователя для прокси --proxy-password=ПАРОЛЬ установить ПАРОЛЬ в качестве пароля для прокси --referer=URL включить в HTTP-запрос заголовок «Referer: URL» --save-headers сохранять HTTP-заголовки в файл -U, --user-agent=АГЕНТ идентифицировать себя как АГЕНТ вместо Wget/ВЕРСИЯ --no-http-keep-alive отключить поддержание активности HTTP (постоянные подключения) --no-cookies не использовать кукисы --load-cookies=ФАЙЛ загрузить кукисы из ФАЙЛА перед сеансом --save-cookies=ФАЙЛ сохранить кукисы в ФАЙЛ после сеанса --keep-session-cookies загрузить и сохранить кукисы сеанса (непостоянные) --post-data=СТРОКА использовать метод POST; отправка СТРОКИ в качестве данных --post-file=ФАЙЛ использовать метод POST; отправка содержимого ФАЙЛА --method=HTTPMethod использовать метод «HTTPMethod» в заголовке --body-data=СТРОКА отправка СТРОКИ в качестве данных; ДОЛЖЕН быть указан параметр --method --body-file=ФАЙЛ отправка содержимого ФАЙЛА; ДОЛЖЕН быть указан параметр --method --content-disposition учитывать заголовок Content-Disposition при выборе имён для локальных файлов (ЭКСПЕРИМЕНТАЛЬНЫЙ) --content-on-error выводить принятые данные при ошибках сервера --auth-no-challenge отправлять информацию об аутентификации Basic HTTP не дожидаясь первого ответа сервера Параметры HTTPS (SSL/TLS): --secure-protocol=ПР выбор протокола безопасности: auto, SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 или PFS --https-only переходить только по безопасным ссылкам HTTPS --no-check-certificate не проверять сертификат сервера --certificate=FILE файл сертификата пользователя --certificate-type=ТИП тип сертификата пользователя: PEM или DER --private-key=ФАЙЛ файл секретного ключа --private-key-type=ТИП тип секретного ключа: PEM или DER --ca-certificate=ФАЙЛ файл с набором CA --ca-directory=КАТ каталог, в котором хранится список CA --crl-file=ФАЙЛ файл с набором CRL --pinnedpubkey=ФАЙЛ/ХЭШИ Файл с открытым ключом (PEM/DER) или любое количество хэшей sha256 в виде base64, начинающихся с «sha256//» и разделённых «;», по которым проверяется ответный узел --random-file=ФАЙЛ файл со случайными данными для SSL PRNG --ciphers=СТРОКА назначить строку приоритета (GnuTLS) или список шифров (OpenSSL) непосредственным образом. Использовать осторожно. Данный параметр заменяет значение --secure-protocol. Формат и синтаксис строки зависит от используемой библиотеки SSL/TLS. Параметры HSTS: --no-hsts отключить HSTS --hsts-file путь к базе данных HSTS (заменит значение по умолчанию) Параметры FTP: --ftp-user=ПОЛЬЗОВАТЕЛЬ установить ftp-пользователя в ПОЛЬЗОВАТЕЛЬ --ftp-password=ПАРОЛЬ установить ftp-пароль в ПАРОЛЬ --no-remove-listing не удалять файлы «.listing» --no-glob выключить маски для имён файлов FTP --no-passive-ftp отключить «пассивный» режим передачи --preserve-permissions сохранять права доступа удалённых файлов --retr-symlinks при рекурсии загружать файлы по ссылкам (не каталоги) Параметры FTPS: --ftps-implicit безусловно использовать FTPS (порт по умолчанию — 990) --ftps-resume-ssl возобновлять сеанс SSL/TLS, начатый в канале управления, при открытии канала данных --ftps-clear-data-connection шифровать только канал управления; данные не шифруются --ftps-fallback-to-ftp вернуться к FTP, если FTPS не поддерживается сервером Параметры WARC: --warc-file=ФАЙЛ записать данные запроса/ответа в файл .warc.gz --warc-header=СТРОКА вставить СТРОКУ в запись warcinfo --warc-max-size=ЧИСЛО максимальный размер файлов WARC равен ЧИСЛУ --warc-cdx записать индексные файлы CDX --warc-dedup=ФАЙЛ не сохранять записи, перечисленные в файле CDX --no-warc-compression не сжимать файлы WARC с помощью GZIP --no-warc-digests не вычислять дайджесты SHA1 --no-warc-keep-log не сохранять файл журнала в записи WARC --warc-tempdir=КАТАЛОГ расположение для временных файлов, создаваемых процедурой записи WARC Рекурсивная загрузка: -r, --recursive включение рекурсивной загрузки -l, --level=ЧИСЛО глубина рекурсии (inf и 0 — бесконечность) --delete-after удалять локальные файлы после загрузки -k, --convert-links делать ссылки локальными в загруженном HTML или CSS --convert-file-only преобразовывать только файловую часть URL (базовую часть имени) --backups=N перед записью файла X, ротировать до N резервных файлов -K, --backup-converted перед преобразованием файла X делать резервную копию в виде X.orig -m, --mirror короткий параметр, эквивалентный -N -r -l inf --no-remove-listing -p, --page-requisites загрузить все изображения и проч., необходимые для отображения HTML-страницы --strict-comments включить строгую (SGML) обработку комментариев HTML Разрешения/запреты при рекурсии: -A, --accept=СПИСОК список разрешённых расширений через запятую -R, --reject=СПИСОК список запрещённых расширений, разделённых запятыми. --accept-regex=РЕГВЫР регулярное выражение для разрешённых URL --reject-regex=РЕГВЫР регулярное выражение для запрещённых URL --regex-type=ТИП тип регулярного выражения (posix|pcre) -D, --domains=СПИСОК список разрешённых доменов, через запятую --exclude-domains=СПИСОК список запрещённых доменов, через запятую --follow-ftp следовать по ссылкам FTP в HTML-документах --follow-tags=СПИСОК список используемых тегов HTML, через запятую --ignore-tags=СПИСОК список игнорируемых тегов HTML, через запятую -H, --span-hosts заходить на чужие узлы при рекурсии -L, --relative следовать только по относительным ссылкам -I, --include-directories=СПИСОК список разрешённых каталогов --trust-server-names использовать имя, указанное в перенаправляющем URL, в качестве последнего компонента. -X, --exclude-directories=СПИСОК список исключаемых каталогов -np, --no-parent не подниматься в родительский каталог Сообщения об ошибках, вопросы и пожелания отправляйте на <bug-wget@gnu.org> и/или откройте проблему на https://savannah.gnu.org/bugs/?func=additem&group=wget.
Вишенка на торте
Мои рекомендации полезной информации всем кто связан с внедрение ИТ на производстве.
Попробуйте скачать, а потом поизучать SADT (Технология структурного анализа и проектирования). Полезно для документирования и дальнейшего использования в автоматизации бизнеспроцессов и создания документации и инструкций.
wget --mirror -p --convert-links -P ~/Download/ https://ami.nstu.ru/~vms/SADT_Ross/html/index.html