Viatcheslav (viatcheslav) wrote,
Viatcheslav
viatcheslav

Как скачать сайт целиком

Я люблю линукс. Зачастую, простые команды (которые и запускаются-то просто в командной строке) несут в себе огромный скрытый понетциал и возможности.

Сегодня рассмотрит одну из областей применения команды wget. С помощью wget можно скачивать сайты, включая картинки, всего лишь указав адрес сайта и определенные параметры. wget будет автоматически переходить по ссылкам на сайте и скачивать страницу за страницей. Это позволит, например, просматривать скаченный сайт в автономном режиме.

wget

Чтобы скачать сайт целиком с помощью wget нужно выполнить команду:
wget -r -k -l 8 -p -E -nc http://вашсайт.com/

После выполнения данной команды в директорию вашсайт.ru будет загружена локальная копия сайта http://вашсайт.com Чтобы зайти на скаченный сайт, достаточно открыть главную страницу сайта (файл index.html).

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

Возможности применения утилиты wget не ограничиваются вышеописанным примером. На самом деле область применения wget значительно шире и wget обладает большим числом дополнительных параметров.


GNU Wget 1.14, программа для загрузки файлов из сети в автономном режиме.
Использование: 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=TYPE Output bandwidth as TYPE. TYPE can be bits.
-i, --input-file=ФАЙЛ загрузить URL-ы согласно локальному
или внешнему ФАЙЛУ.
-F, --force-html считать, что входной файл — HTML.
-B, --base=URL считать, что ссылки из входного файла (-i -F)
указаны относительно URL.
--config=FILE Specify config file to use.

Загрузка:
-t, --tries=ЧИСЛО установить ЧИСЛО повторных попыток
(0 без ограничения).
--retry-connrefused повторять, даже если в подключении отказано.
-O, --output-document=ФАЙЛ записывать документы в ФАЙЛ.
-nc, --no-clobber skip downloads that would download to
existing files (overwriting them).
-c, --continue возобновить загрузку частично загруженного
файла.
--progress=ТИП выбрать тип индикатора выполнения.
-N, --timestamping не загружать повторно файлы, только если они
не новее, чем локальные.
--no-use-server-timestamps не устанавливать метку времени локальному
файлу, полученную с сервера.
-S, --server-response вывод ответа сервера.
--spider ничего не загружать.
-T, --timeout=СЕКУНДЫ установка значений всех тайм-аутов в СЕКУНДЫ.
--dns-timeout=СЕК установка тайм-аута поиска в DNS в СЕК.
--connect-timeout=СЕК установка тайм-аута подключения в СЕК.
--read-timeout=СЕК установка тайм-аута чтения в СЕК.
-w, --wait=СЕКУНДЫ пауза в СЕКУНДАХ между загрузками
--waitretry=СЕКУНДЫ пауза в 1..СЕКУНДЫ между повторными
попытками загрузки
--random-wait пауза в 0.5*WAIT...1.5*WAIT секунд
между загрузками.
--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 запрашивать пароли.
--no-iri выключить поддержку IRI.
--local-encoding=КДР использовать КДР как локальную кодировку
для IRI
--remote-encoding=КДР использовать КДР как удалённую кодировку
по умолчанию
--unlink remove file before clobber.

Каталоги:
-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=СТРОКА вставить СТРОКУ между заголовками.
--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; отправка содержимого
ФАЙЛА.
--content-disposition Учитывать заголовок Content-Disposition
при выборе имён для локальных файлов
(ЭКСПЕРИМЕНТАЛЬНЫЙ).
--content-on-error output the received content on server errors.
--auth-no-challenge отправлять информацию об аутентификации
Basic HTTP не дожидаясь первого ответа
сервера.

Параметры HTTPS (SSL/TLS):
--secure-protocol=ПР выбор безопасного протокола: auto, SSLv2,
SSLv3 или TLSv1.
--no-check-certificate не проверять сертификат сервера.
--certificate=FILE файл сертификата пользователя.
--certificate-type=ТИП тип сертификата пользователя: PEM или DER.
--private-key=ФАЙЛ файл секретного ключа.
--private-key-type=ТИП тип секретного ключа: PEM или DER.
--ca-certificate=ФАЙЛ файл с набором CA.
--ca-directory=КАТ каталог, в котором хранится список CA.
--random-file=ФАЙЛ файл со случайными данными для SSL PRNG.
--egd-file=ФАЙЛ файл, определяющий сокет EGD со случайными данными.

Параметры FTP:
--ftp-user=ПОЛЬЗОВАТЕЛЬ установить ftp-пользователя в ПОЛЬЗОВАТЕЛЬ.
--ftp-password=ПАРОЛЬ установить ftp-пароль в ПАРОЛЬ.
--no-remove-listing не удалять файлы файлы «.listing».
--no-glob выключить маски для имён файлов FTP.
--no-passive-ftp отключить «пассивный» режим передачи.
--preserve-permissions сохранять права доступа удалённых файлов.
--retr-symlinks при рекурсии загружать файлы по ссылкам
(не каталоги).

WARC options:
--warc-file=FILENAME save request/response data to a .warc.gz file.
--warc-header=STRING insert STRING into the warcinfo record.
--warc-max-size=NUMBER set maximum size of WARC files to NUMBER.
--warc-cdx write CDX index files.
--warc-dedup=FILENAME do not store records listed in this CDX file.
--no-warc-compression do not compress WARC files with GZIP.
--no-warc-digests do not calculate SHA1 digests.
--no-warc-keep-log do not store the log file in a WARC record.
--warc-tempdir=DIRECTORY location for temporary files created by the
WARC writer.

Рекурсивная загрузка:
-r, --recursive включение рекурсивной загрузки.
-l, --level=ЧИСЛО глубина рекурсии (inf и 0 - бесконечность).
--delete-after удалять локальные файлы после загрузки.
-k, --convert-links делать ссылки локальными в загруженном
HTML или CSS.
-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=REGEX regex matching accepted URLs.
--reject-regex=REGEX regex matching rejected URLs.
--regex-type=TYPE 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 use the name specified by the redirection
url last component.
-X, --exclude-directories=СПИСОК список исключаемых каталогов.
-np, --no-parent не подниматься в родительский каталог.
Tags: linux, интернет, полезные советы, программы
Subscribe

Recent Posts from This Journal

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments