Скачиваем сайты целиком — утилита wget

wget — это утилита, которая предназначена для загрузки файлов по сети (из интернета). Я расскажу, как использовать wget, чтобы скачивать сайты из интернета целиком и затем просматривать их в автономном режиме.

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

Чтобы скачать сайт целиком с помощью 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 — при использовании данного параметра существующие файлы не будут перезаписаны. Это удобно, когда нужно продолжить загрузку сайта, прерванную в предыдущий раз.

За более подробной информацией обращайтесь к руководству, выполнив в командной строке: man wget.

Ещё пара полезных примеров:

Скачать файл по ссылке:

wget -P /home/user/doc http://fexample.org/file.pdf

Скачать файлы по ссылкам в файле:

wget -i file

Скачивание списка ссылок в 5 потоков

cat links.txt | xargs -P 5 wget {}

Скачать множество файлов в текущую директорию

wget -r -nd -np -l1 -A '*.jpg' http://www.example.com/

Оперативно обновлять локальную копию сайта (удобно использовать с cron)

wget --mirror http://www.example.com/

Скачиваем несколько страниц:

wget http://site.com/files/main.{css,js}
wget http://site.com/?thread={1..100}

Отображать вывод напрямую (на экран)

wget -q -O- http://www.pixelbeat.org/timeline.html | grep 'a href' | head

Источник




Оставить комментарий