Wget как скачать сайт
Очень часто возникает необходимость в копировании стороннего сайта. В то время, как копирование с помощью встроенной функции браузера "сохранить как", не работает должным образом, можно воспользоваться программой wget.
В этой статье будут рассмотрены основные команды wget, на примере будет показано, как скачать страницу с помощью wget для локального просмотра, а так же, как скачать https сайт.
- Скачивание страниц по списку из файла
- Как задать папку для скачивания
- Рекурсивное скачивание подкаталогов
- Выкачивание всего сайта
- Скачивание страницы с локальным сохранением клиентских файлов
- Скачивание http-страниц
- Резюме
В этой статье я не буду рассматривать установку wget на компьютер. Я воспользуюсь сборкой Open Server, в которой эта программа уже включена. Open Server - это сборка локального веб-сервера. Потому, если вы не программируете на php, то смысла устанавливать Open Server не много. Для вас лучший вариант - это отдельная установка wget.
Wget - это консольная программа для загрузки файлов. Это программа чем-то похожа на CURL, однако, они решают совсем разные задачи. Wget позволяет скачивать страницы сайта, вместе с полным содержанием страницы (css, js, картинки) к себе на компьютер. Что позволяет открыть этот сайт у себя, без интернета, абсолютно не искажая его исходное отображение. Так же, эта программа включает в себе возможность рекурсивного скачивания страниц, что позволит с помощью wget скачать весь сайт целиком, и отображать его локально.
Скачивание всех страниц по списку из файла
wget -i YOURFILE
, где YOURFILE - путь к файлу, с URL-адресами
Например, у меня есть файл links.txt
:
Теперь, запустив команду wget -i links.txt
(у меня links.txt находится в той папке, относительно которой запущена консоль)
И в результате получим 3 файла, как и было в списке:
Скачивание в указанную папку
Для того, чтобы скачать в нужную нам папку, нужно выполнить:
wget -P /path http://example.com
, где /path - папка для сохранения, http://example.com - url-сайта, который нужно скачать
-P
- путь сохранения (указывается -P /path
)
Например, скачаем содержимое главной страницы http://badcode.ru в папку files
Выполним:
wget -P files http://badcode.ru
И wget создаст папку с названием files
, и куда сохранит содержимое нашего сайта
Рекурсивное скачивание каталога и вложенных подкаталогов
wget -r --no-parent http://example.com/catalog
Проверим это на примере скачивания всех статей одного из тегов: http://badcode.ru/tag/parsery/
Выполнив:
wget -r --no-parent http://badcode.ru/tag/parsery/
Скачивание всего сайта
wget -r -l 5 -k -p http://example.com
Каждая из опций значит:
-r
- рекурсивно открывает новые найденные страницы
-l
- глубина рекурсии -l 5
, что значит, что максимально рекурсивно будет открыто 5 ссылок
-k
- конвертирование ссылок на локальные, загружая файлы (css, js, картинки) к себе в папку
-p
- скачать в папку все нужные файлы для отображения страницы без интернета
Выполнив:
wget -r -l 5 -k -p http://badcode.ru
Получим результат в виде всех скачанных статей, которые без проблем можно читать без интернета:
Скачивание одной страницы со всеми файлами
Эта команда будет симбиозом того, что мы уже рассмотрели.
wget -k -p http://example.com
А ключи -k
и -p
нам уже известны: это значит, что мы говорим wget скачать все файлы, и проставить пути так, чтобы можно было открыть эти страницы локально, без интернета.
Скачивание https-страницы
Для того, чтобы скачать https-страницы, просто нужно добавить опцию --no-check-certificate
На прошлом примере, что будет иметь вид:
wget -k -p https://example.com --no-check-certificate
Резюме
Цель этой статьи - показать, с какой простотой и удобством можно пользоваться Wget. Я постарался ответить на то, как сохранять страницы, или даже целые сайты к себе локально, и просматривать их без интернета. В этой статье были описаны основные команды Wget, если вы хотите более продвинутого пользования этим инструментом, то этой информации будет недостаточно.
Ранее, для того, чтобы скопировать какую-то страницу, я прибегал к использованию сторонних сервисов, которые, зачастую, являются обёрткой над Wget. Потому, изучив основные команды Wget, необходимость в других сервисах отпадает сама собой.
К слову, моя "история фриланса", как раз и началась, с того, что я копировал лендинги, и тут мне очень помогали знания, связанные с Wget.