Wget, несколько примеров того, что можно сделать с помощью этого инструмента

О пользователе wget

В следующей статье мы рассмотрим Wget. Надо сказать, что GNU Wget - это бесплатный инструмент что позволяет загружать контент с веб-серверов простым и быстрым способом. Его название происходит от World Wide Web (w) и слово get (на английском получить). Это имя означает: получить из WWW.

Сегодня существуют десятки приложений для очень эффективной загрузки файлов. Большинство из них основаны на веб-интерфейсах и интерфейсах рабочего стола и разработаны для всех операционных систем. Однако в Gnu / Linux (также есть версия для Windows) Здесь мощный менеджер загрузок файлов wget. Считается самым мощным из существующих загрузчиков. Поддерживает такие протоколы, как http, https и FTP.

Скачивание файлов с помощью wget

Скачать файл

Самый простой способ использовать этот инструмент - скачать с указанием файла Что мы хотим:

wget http://sitioweb.com/programa.tar.gz

Скачивание по разным протоколам

Как хороший менеджер закачек, можно запрашивать более одной загрузки за раз. Мы даже можем использовать разные протоколы в одном порядке:

wget http://sitioweb.com/programa.tar.gz ftp://otrositio.com/descargas/videos/archivo-video.mpg

Скачать по расширению

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

wget<code class="language-bash" data-lang="bash">-r -A.pdf</code>http://sitioweb.com/*.pdf

Эта команда не всегда работает, так как некоторые серверы могли заблокировать доступ к Wget.

Скачать список файлов

Если мы хотим загрузить файлы, которые мы находим, нам нужно будет только сохранить их URL в файле. Мы создадим список под названием files.txt а название списка мы укажем команде. Необходимо размещать только один URL в строке внутри files.txt.

Команда, которую мы будем использовать для загрузки созданного списка и который мы сохраним в файлах .txt, будет следующей:

wget -i archivos.txt

Перезапустить загрузку

Если по какой-либо причине загрузка была прервана, мы сможем продолжить загрузку с того места, где она была остановлена используя вариант c с помощью команды wget:

wget -i -c archivos.txt

Добавить логи о скачивании

Если мы хотим получить журнал о загрузке, чтобы контролировать любой инцидент на нем нам нужно будет добавить -o вариант как показано ниже:

wget -o reporte.txt http://ejemplo.com/programa.tar.gz

Ограничить скорость загрузки

При очень долгих загрузках мы можем ограничить скорость загрузки. Таким образом мы предотвратим загрузку всей полосы пропускания на время загрузки:

wget -o /reporte.log --limit-rate=50k ftp://ftp.centos.org/download/centos5-dvd.iso

Скачать с логином и паролем

Если мы хотим загрузить с сайта, где требуется имя пользователя / пароль, нам нужно будет использовать только следующие параметры:

wget --http-user=admin --http-password=12345 http://ejemplo.com/archivo.mp3

Попытки скачивания

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

wget -t 50 http://ejemplo.com/pelicula.mpg

Загрузите сайт с помощью wget

Wget man help

Wget man help

Wget не ограничивается только загрузкой файловМы сможем скачать полную страницу. Нам просто нужно будет написать что-то вроде:

wget www.ejemplo.com

Скачать веб-сайт и его дополнительные элементы

с вариант p мы также загрузим все дополнительные элементы, необходимые на странице такие как таблицы стилей, встроенные изображения и т. д.

Если мы добавим вариант r se будет скачивать рекурсивно до 5 уровней с сайта:

wget -r www.ejemplo.com -o reporte.log

Преобразуйте ссылки в местные

По умолчанию ссылки на сайте указывают на адрес всего домена. Если мы загружаем сайт рекурсивно, а затем изучаем его в автономном режиме, мы можем использовать опция convert-links что превратит их в местные ссылки:

wget --convert-links -r http://www.sitio.com/

Получите полную копию сайта

У нас будет возможность получить полную копию сайта. В –Зеркальный вариант то же самое, что и использование параметры -r -l inf -N что указывает на рекурсию на бесконечном уровне и получение исходной отметки времени каждого загруженного файла.

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

Преобразовать расширения

Если вы загрузите весь сайт для просмотра в автономном режиме, некоторые загруженные файлы могут не открываться из-за таких расширений, как .cgi, .asp или .php. Тогда можно указать с помощью –Html-extension параметр Все файлы преобразуются в расширение .html.

wget --mirror --convert-links --html-extension http://www.ejemplo.com

Это просто общие рекомендации чем вы можете сделать с Wget. Кто хочет может проконсультироваться онлайн-руководство чтобы ознакомиться со всеми возможностями, которые предлагает нам этот замечательный менеджер загрузок.


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

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

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

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Рубен Карденал сказал

    Насчет "Скачать по расширению" перестал читать. Вы не можете скачать то, чего не знаете. Если запрошенный каталог не допускает перечисление файлов и не имеет индекса (и оба должны происходить одновременно), то, что вы говорите, невозможно сделать. Какой уровень.

    1.    Информационные сказал

      Привет, Рубен, незнание - это немного дерзко.
      То, что вы комментируете, можно сделать с помощью простой команды в Google:
      Тип файла:pdf Сайт:ubunlog.com
      В этом примере в этом блоге нет PDF-файла, но измените домен в конце на веб-сайт, который вы предпочитаете, и вы увидите, насколько легко увидеть все файлы определенного типа Интернета.
      Хорошего дня.

      1.    Франк сказал

        Но wget не подключается к Google, чтобы найти PDF-файлы по URL-адресу. Веб-каталог должен быть открыт, и должна быть индексная страница, созданная mod_autoindex или подобным, как говорит Рубен Карденал.

    2.    Джимми Олано сказал

      «Эта команда не всегда работает, так как некоторые серверы могли заблокировать доступ к wget».
      Эта поправка была внесена в эту статью, потому что я не согласен с ней (хотя технически можно заблокировать определенные веб-агенты для запросов HTTP-заголовка и вернуть сообщение 403 «не разрешено»), и я объясню, почему:

      Все веб-серверы Apache (а я говорю о значительном проценте серверов) по умолчанию разрешают использование глобусов (отличная статья в Википедии, читайте: https://es.wikipedia.org/wiki/Glob_(inform%C3%A1tica) .

      На практике это означает, что, как указывает г-н. Рубен (и он прав), ЕСЛИ НЕТ ФАЙЛА, НАЗЫВАЕМОГО "index.php" или "index.html" (или даже просто названного "index"), сервер незаметно вернет список файлов и каталогов (конечно, в форме HTML-страницы с информацией в виде веб-ссылки для каждого файла). БОЛЬШИНСТВО ВЕБ-СЕРВЕРОВ ОТКЛЮЧАЕТ ЭТУ ФУНКЦИЮ С ПОМОЩЬЮ ФАЙЛА .htacces (строго говоря, Apache2) из ​​соображений безопасности.

      Вот универсальность wget (посмотрите его историю, снова в Википедии, ту, которую вы знаете больше всего: https://es.wikipedia.org/wiki/GNU_Wget ) для анализа или «синтаксического анализа» указанной информации и извлечения только тех расширений, которые мы запрашиваем.

      Теперь, если это не сработает по той или иной причине, мы можем попробовать другие расширенные функции wget, я цитирую прямо на английском:

      Вы хотите загрузить все GIF-файлы из каталога на HTTP-сервере. Вы пробовали wget http://www.example.com/dir/*.gif’, но это не сработало, потому что HTTP-поиск не поддерживает GLOBBING (я поставил заглавные буквы). В этом случае используйте:

      wget -r -l1 –нет родителя -A.gif http://www.example.com/dir/

      Более многословно, но эффект тот же. «-r -l1» означает рекурсивное извлечение (см. Рекурсивная загрузка) с максимальной глубиной 1. «–no-parent» означает, что ссылки на родительский каталог игнорируются (см. Ограничения на основе каталога), а «-A». gif 'означает загрузку только файлов GIF. '-A «* .gif»' тоже сработало бы.

      ЕСЛИ ВЫ ЗАПУСТИТЕ ПОСЛЕДНИМ СПОСОБОМ, wget создаст для нас папку с запрошенным веб-адресом в папке по умолчанию, в которой мы работаем, и при необходимости создаст подкаталоги, в которых разместит, например, изображения .gif, которые мы запрос.

      --------
      ОДНАКО, если по-прежнему невозможно получить только определенные типы файлов (например, * .jpg), нам придется использовать параметр «–page-Requisites», который загружает все внутренние элементы html-страницы (изображения, звуки, css и т. д.) вместе с самой html-страницей ("–page-Requisites" может быть сокращено до "-p"), и это будет эквивалентно загрузке чего-то вроде "mhtml" https://tools.ietf.org/html/rfc2557

      Надеюсь, эта информация будет вам полезна.

      1.    Дамиан Амоэдо сказал

        Спасибо за заметки. Salu2.

  2.   афтербанки сказал

    Думаю у вас ошибка, в первых двух строках одна и та же команда.

  3.   Майк сказал

    Большое спасибо, очень хороший урок!