У наступній статті ми збираємось поглянути на 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 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. Хто хоче, може проконсультуватися з Інтернет-посібник проконсультуватися з усіма можливостями, які пропонує нам цей чудовий менеджер завантажень.
Щодо "Завантажити за розширенням", я перестав читати. Ви не можете завантажити те, чого не знаєте. Якщо запитаний каталог не дозволяє перерахувати файли та не має індексу (і обидва вони повинні відбуватися одночасно), те, що ви говорите, зробити не можна. Який рівень.
Привіт Рубен, незнання трохи сміливе.
Те, що ви коментуєте, можна зробити за допомогою простої команди google:
тип файлу: pdf сайт:ubunlog.com
У цьому прикладі у цьому блозі немає PDF-файлу, але в кінці змініть домен на веб-сторінку, яку ви віддаєте перевагу, і ви побачите, наскільки легко бачити всі файли певного типу.
Гарного дня.
Але wget не підключається до google, щоб знайти PDF-файли, що знаходяться в URL-адресі. Веб-каталог повинен бути відкритим, і повинна бути сторінка індексу, згенерована mod_autoindex або подібною, як говорить Рубен Карденал.
"Ця команда працює не завжди, оскільки деякі сервери можуть заблокувати доступ до 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
Сподіваюся, ця інформація буде для вас корисною.
Дякую за нотатки. Салю2.
Я думаю, що у вас помилка, перші два рядки мають однакову команду.
Щиро дякую, дуже хороший підручник!