Как скачать сайт с помощью wget
Перейти к содержимому

Как скачать сайт с помощью wget

  • автор:

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

Туторы

Консольная команда для скачивания сайта:

wget -r -k -l 7 -p -E -nc -U YandexBot http://domain.com

Используемые параметры для скачивания сайта целиком:

-r — рекурсивное скачивание страниц сайта
-k — преобразовывать ссылки в html коде для локального просмотра сайта
-p — скачивать все файлы используемые при отображении страниц сайта — картинки/стили/скрипты и т.д.
-l — уровень вложенности страниц, насколько wget далеко будет парсить
-E — добавлять к скачанным страницам .html
-nc — при использовании этого параметра, скачанные до этого файлы не будут перезаписаны. используется если вам нужно докачать сайт
-U — задать юзерагент, часто на сайтах запрещается доступ для wget, таким образом мы обходим этот запрет

Если совсем убрать -l то будет скачана только одна страница

Прочая информация по wget в консоли:

man wget
wget --help

22.01.2015 14:10:00

admin

6301

11

Как скопировать любой сайт целиком через wget и перевести его в html

Как скопировать любой сайт целиком через wget и перевести его в html

Материал данной статьи предназначен исключительно для личного использования с целью изучения стороннего кода, либо для целей offline чтения контента в условиях отсутствия Интернета. Также данный материал может быть полезен с целью изучения функции wget. Предупреждаю Вас, что копирование стороннего сайта и использование его в коммерческих целях запрещено и Вы можете понести ответственность за свои действия!

Итак, как скачать себе сайт на любом протоколе (http / https)

Допустим Вам предстоит длительный полёт в самолёте, Интернета не будет и Вы хотите скачать себе какой-либо интересный ресурс для чтения при отсутствии Интернета. Для этого есть прекрасный инструмент, используемый в UNIX-подобных системах (Linux, Mac OS). Также можно найти вариант для Windows.

В Linux wget ставится с помощью пакетного менеджера. Если у Вас система, основанная на Debian (Ubuntu и прочие), то команда будет следующей:

sudo apt install wget

Возможно, wget уже установлен в Вашей системе и Вы получите об этом соответствующее сообщение.

Затем, переходим в нужную нам папку, например Desktop и выполняем команду:

wget -r -k -i -p -E -F -e robots=off http://адрес_сайта 

Начнётся скачивание. Оно может занять как несколько минут, так и несколько часов, в зависимости от размера ресурса.

А сейчас давайте подробнее рассмотрим параметры, используемые в команде.

-r Включить рекурсивный просмотр каталогов и подкаталогов на удалённом сервере. Если мы не укажем этот параметр, то скачается только одна страница сайта. -k Превратить абсолютные ссылки в HTML документе в относительные ссылки (указывающие на Ваш ПК). Если мы не укажем этот параметр, то ссылки на файлы стилей, js и прочего будут указывать в коде на сайт источник и Вы не сможете использовать сайт в offline-режиме -i Выкачать файлы, указанные по ссылкам на ресурсе (например, pdf-документы и прочие). Сайт - это не только код, но и документы, которые указаны в ссылках на сайте. -p Загружать все файлы, которые нужны для отображения страниц HTML. Например: рисунки, звук, стили При тестировании я не видел разницы между указанием этого параметра и без него. Тем не менее, в мануале рекомендуют всегда указывать этот параметр. -E Сохранять html и css с корректными расширениями Это один из самых важных пунктов, без указания которого Вы не получите рабочего сайта. Дело в том, что на большинстве ресурсов файлы стилей указаны в следующем формате: /style.css?v32489723958876 Всё, что указывается после знака вопроса позволяет разработчикам сайта в автоматическом режиме обновлять кэш пользователей, т.к. в процессе разработки символы после знака вопроса меняются при каждом обновлении файла. При этом файл на сервере в своём имени не имеет ни знака вопроса, ни каких-либо иных символов. Wget сохранит файлы именно с таким расширением и при попытке открытия сайта в браузере у Вас не подгрузятся стили с данными параметрами. Данный параметр позволит преобразовать данные расширения в корректные расширения для браузера. -F Считать, что входящий файл является html. Данная опция необязательна, но её рекомендуют указывать. Вы можете протестировать с данным параметром и без него. -e robots=off Игнорировать запреты, указанные в файле robots.txt. Это ещё одни грабли, на которые можно наступить. В частности, многие сайты запрещают от индексирования файлы стилей, папки с кэшем сервера (в которых), между прочим, могут лежать изображения сайта и прочее. Если Вы не укажете данный параметр, Вы можете столкнуться с ситуацией, когда стили, некоторые картинки и некоторый другой контент попросту не скачается.

По завершению выполнения программы у Вас появится папка с названием сайта, в которую Вам нужно будет зайти и открыть файл index.html в Вашем любимом браузере. Вы увидите полную копию сайта, которую можно использовать удалённо и читать интересные для Вас материалы.

Обратите внимание, что база данных сайта не скачивается. Т.е. весь контент, который изначально находился в базе данных, был скачан и преобразован в html файлы.

Также, есть ещё один ньюанс. Часть ссылок на файлы из меню скачанного сайта может указывать не на файлы, а на каталоги. К примеру, на сайте есть рубрика: «Книги о программировании«. В меню сайта указана ссылка на раздел, к примеру: «/program_books/». Данная ссылка сработает на сервере, но не сработает на локальной машине. Ведь сервер при указании ссылки на папку, автоматически ищет в ней файл index. Чтобы решить эту проблему, Вам нужно будет включить сервер на своей машине. Если Вы будете использовать Windows, то установите программу Open Server (кстати, это лучшая программа для локального сервера для Windows), закачайте в папку с сайтами папку с Вашим сайтом, перезапустите Open Server и после этого открывайте сайт. Если Вы используете Linux, Mac OS — зайдите через консоль в папку с сайтом и выполните команду:

php -S localhost:8080

И после этого сайт будет доступен по адресу http://localhost/

P.S. Ещё, в качестве дополнения к интересным возможностям wget я хочу рассказать про возможность скачивания файлов (документов и прочего по ссылкам в файле). Например, у Вас есть большой список ссылок на картинки или pdf-файлы и Вам необходимо скачать их себе. Для этого копируем все ссылки в один файл, по одной ссылке на 1 строчку и проверяем, что у каждой ссылки есть протокол (http / https). Далее выполняем команду:

wget -i название_файла_с_ссылками_в текущей_папке 

Wget скачает для Вас все файлы и расположит их в указанной папке. Очень удобная и полезная опция!

Желаю Вам удачного использования данных функций в личных целях, для изучения и тестирования.

Подписывайтесь на группу в ВКонтакте, вступайте в сообщество на Facebook, чтобы всегда быть в курсе актуальных выпусков
W e b d e v e l o p m e n t b l o g !

Как скачать сайт с помощью wget

Вы здесь: Главная страница Интернеты Скачивание сайта через wget

Скачивание сайта через wget

Подробности Просмотров: 13206

Программа wget предназначена для того, чтобы без вашего особого участия скачивать большие количества файлов из интернета. Внизу предложены два варианта ее использования на данном сайте (хотя существуют еще десятки других): с помощью первого можно выкачать весь сайт; и с помощью второго можно выкачать избранную книгу из библиотеки. В последнем случае, укажите страницу оглавления выбранной вами книги. Выполнять эту команду надо из каталога на вашем компьютере, в который вы хотите выкачать сайт. По оканчании в файле wget.log будет находится информация о том, какие страницы были закачены, и какие ошибки возникли в процессе. Если эти варианты выкачки вас по каким-либо причинам не устраивают, то прочтите описание флагов и попробуйте самостоятельно придумать, как настроить работу этой программы под вашу задачу (предпочтительно) или пишите — разберемся вместе.

Для того, чтобы полностью скачать сайт, используйте следующую команду (здесь и далее, сайт будет скачан в каталог, из которого программа была запущена):

wget -c -p -r -l0 -np -N -k -nv http://tm-sidhi.narod.ru/tm/index.html 2>wget.log

Если нужно скачать не весь сайт, а только какую-то его часть (в данном случае книгу «Дао Пуха»), то используйте такую команду:

wget -c -p -r -l1 -np -N -k -nv http://tm-sidhi.narod.ru/tm/library/pooh/index.html 2>wget.log

Если вы работаете с интернетом через прокси сервер или через FireWall, то к списку указанных опций (перед адресом страницы) надо добавить еще и такие:

--proxy-user=xxx --proxy-passwd=yyy --execute="http_proxy=server:port"

Где ххх — это логин (если нужен)

yyy — это пароль для данного логина (если нужен)

server — имя прокси сервера или FireWall-а (узнать у администратора)

port — порт, через который работает прокси сервер или FireWall (узнать у администратора)

Страницы сайта будут выкачены с банерами. Если вы хотите от них избавиться, то из выкаченных файлов надо удалить все что стоит до строки «» и все, что стоит после строки «». Процесс удаления может быть автоматизирован (если вам позволяет это сделать ваш опыт), и здесь не рассматривается.

Информация для любознательных:

-c Дополучать частично полученные файлы (если был обрыв связи во время предудущей закачки).

-p Получить картинки, звуки и другие объекты для выкаченных страниц.

-r Получать также страницы, на которые ссылаются выкаченные страницы (начиная от указанной).

-l0 Получать все страницы в приделах сайта (при условии, что их можно получить идя по линкам начиная от указанной страницы).

-l1 Получать только те и только те страницы, на которые ссылается указанная страница (указанная страница получается всегда).

-l2 Получать только те, на которые ссылается указанная страница и страницы, на которые ссылаются эти страницы.

-l3 Получать страницы на 3 уровня вглубь и т.п.

-np Фильтр. Получать только те файлы, которые находятся в каталоге первой страницы и его подкаталогах. Из-за этого флага будут закачены не все картинки, но если его убрать, то придется скачивать сразу весь сайт.

-N Получать файлы только, если они позднее датой, чем уже имеющиеся. С помощью этого флага можно обновлять вашу локальную версию сайта. Выкачиваться будут только изменения с момента последней закачки (даже, если изменился только дизайн).

-k Сделать все абсолютные пути относительными (с помощью каталога «..» (перейти на уровень выше). Иначе будет нельзя воспользоваться меню внизу страницы.

-nvВ журнал пишется краткая информация об обработанных страницах.

-h Выдать список всех флагов с объяснением их назначения (пример сохранения в файл help.txt ==> wget -h >help.txt)

Как скачать сайт целиком из интернета при помощи wget.

Будучи большим поклонником всех консольных утилит в Linux, не могу пройти мимо программы wget.

А именно мимо возможности выкачивать сайты целиком из интернета и сохранять их на своём жёстком диске.

В целом ничего сверхестественного в этом нет, существует огромное количество программ для этого, но ничего проще чем wget я пока ещё не встречал.

Кстати кто не хочет устанавливать целый дистрибутив ради этой программы, то можно смело установить CygWin. В этой оболочке wget работает просто отлично.

Для того чтобы скачать сайт целиком можно просто набрать в консоли команду:

wget -r -k -l 7 -p -E -nc //desired-web-site.com/

Теперь быстро пробежимся по параметрам:

-r рекурсивно переходит по ссылкам сайта

-k преобразовывает скаченную информацию, чтобы можно было легко получить к ней доступ с жёсткого диска без подключению к интернету

-p закачиваются все сайты стилей и скриптов с картинками

-l глубина вложенности, как далеко нужно копаться в сайте

-E к скаченным файлам добавляется расширение html

-nc файлы не перезаписываются, проще говоря можно продолжить закачку сайта, если выключили свет

Кстати, можно довольно таки легко с сайта скопировать все файлы определённого типа, например zip.

Тогда строчка будет выглядеть как то так:

А вообще не поленитесь и наберите команду:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *