Wget, кілька прикладів того, що можна зробити за допомогою цього інструменту

Про wget

У наступній статті ми збираємось поглянути на Wget. Слід сказати, що GNU Wget - це безкоштовний інструмент що дозволяє завантажувати вміст з веб-серверів простим і швидким способом. Його назва походить від Всесвітньої павутини (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 спроб цього не вдалося досягти. За допомогою варіант т збільшується до більше спроб.

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

Завантажте веб-сайт за допомогою wget

Wget людина допомогти

Wget людина допомогти

Wget не обмежується лише завантаженням файлівМи зможемо завантажити повну сторінку. Нам просто доведеться написати щось на зразок:

wget www.ejemplo.com

Завантажте веб-сайт та його додаткові елементи

З варіант с ми також завантажимо всі додаткові елементи, необхідні на сторінці такі як таблиці стилів, вбудовані зображення тощо.

Якщо додати варіант р se буде завантажувати рекурсивно до 5 рівнів з сайту:

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

Перетворити посилання на локальні

За замовчуванням посилання на сайті вказують на адресу всього домену. Якщо ми завантажуємо сайт рекурсивно, а потім вивчаємо його в автономному режимі, ми можемо використовувати опція convert-links що перетворить їх на локальні посилання:

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

Отримайте повну копію сайту

Ми матимемо можливість отримати повну копію сайту. –Зеркальний варіант це те саме, що використання параметри -r -l інф -N що вказує на рекурсію на нескінченному рівні та отримання вихідної позначки часу кожного завантаженого файлу.

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

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

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

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

Це лише загальні рекомендації ніж ви можете зробити з Wget. Хто хоче, може проконсультуватися з Інтернет-посібник проконсультуватися з усіма можливостями, які пропонує нам цей чудовий менеджер завантажень.


Залиште свій коментар

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

*

*

  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. "–но-батьківський" означає, що посилання на батьківський каталог ігноруються (див. Обмеження на основі каталогу), а "-A. gif 'означає завантажувати лише файли GIF. '-A «* .gif»' теж спрацював би.

      ЯКЩО ВИ БУДЕТЕ ЦИМ ОСТАННІМ ШЛЯХОМ, wget створить для нас папку із запитуваною веб-адресою в папці за замовчуванням, де ми працюємо, і при необхідності створить підкаталоги і там розмістить, наприклад, зображення .gif, які ми запит.

      --------
      Однак, якщо все ще неможливо отримати лише певні типи файлів (наприклад, * .jpg), нам доведеться використовувати параметр «–page-requisites», який завантажує всі внутрішні елементи HTML-сторінки (зображення, звуки, css тощо) разом із самою html-сторінкою ("–page-requisites" можна скоротити "-p"), і це було б еквівалентно завантаженню чогось на зразок "mhtml" https://tools.ietf.org/html/rfc2557

      Сподіваюся, ця інформація буде для вас корисною.

      1.    Даміан Амедо - сказав він

        Дякую за нотатки. Салю2.

  2.   Післябанки - сказав він

    Я думаю, що у вас помилка, перші два рядки мають однакову команду.

  3.   Майк - сказав він

    Щиро дякую, дуже хороший підручник!