Wget-команди: приклади. Консольна програма для завантаження файлів по мережі wget
Здавалося б, в світі, де половина населення планети активно користується комп`ютерами і звикла до стильним графічним інтерфейсам і багатим можливостям такого, вже немає місця для текстових додатків. Якихось 20 років тому інтерфейс комп`ютера був страшну чорну панель, яка відображала нічого, крім набору білих символів, а все управління здійснювалося за рахунок текстових команд. Дивно, але наскільки ці програми потворні, настільки ж вони функціональні і надійні.
Що таке Wget?
Wget (яка також називається GNU Wget Linux) є консольне, що не інтерактивне додаток для роботи з файлами і веб-сторінками. По суті, це програма для скачування файлів з мережі Інтернет, що відрізняється відсутністю графічного інтерфейсу і рядом особливостей в управлінні, нетипових для більш сучасних рішень.
Програма була розроблена інженером з Хорватії Хрвожі Нікшич, а нині розробку підтримує Джузеппе Скрівано і співтовариство Linux. Перша збірка утиліти (тоді ще під назвою GetURL) була представлена в січні 1996 року. Програма була написана на мові програмування Сі та видавалася за ліцензією GNU. Спочатку інструмент був випущений на платформі Linux. Згодом утиліта була переведена на безліч мов і перенести на всі популярні платформи, включаючи Wget для Windows 7 (і новіше), Wget для MacOS і так далі.
Дана програма - не інтерактивні, а значить, будь-який процес, запущеної в рамках її можливостей, неможливо взяти під контроль, їм можна управляти, звернувшись до засобів управління самої операційної системи.
Незважаючи на те що сучасні браузери зазвичай мають вбудований менеджер завантажень, вони все ж розраховані на інтерактивну взаємодію, тому робота в ручному режимі стає скрутною. Wget ж, навпаки, дозволяє ряд процесів автоматизувати. Наприклад, існує можливість заздалегідь підготувати текстовий документ зі списком веб-сторінок, використовуючи який можна завантажити відразу кілька файлів і сторінок.
Основні функції програми
Все ж в першу чергу це програма для скачування файлів, з чого слід очевидність її головної функції.
Wget може завантажувати будь-які матеріали з мережі Інтернет, будь то документи, виконавчі файли або цілі веб-сторінки в форматі HTML (з використанням різних протоколів). Файли можуть бути завантажені з директорій по протоколу FTP.
Клієнт може виконувати рекурсивне отримання, в автоматичному режимі переходячи по посиланнях в рамках певного веб-сайту (або кількох веб-сайтів), при цьому відновлюючи початкову структуру веб-сторінки. Є можливість переглядати завантажені веб-сайти без доступу до мережі (за замовчуванням завантажується у вигляді адрес для онлайн-перегляду).
Спочатку Wget адаптувався під повільні і нестабільні типи підключень, тому його важливою особливість є можливість відновити перервану завантаження файлу (це можливо, якщо сервер підтримує заголовки RANGE). Також Wget може моніторити стан серверів (їх доступність) для дозавантаження і поновлення (Wget перевіряє заголовки файлів і підтримує найсвіжішу версію) файлів і веб-сторінки.
Програма також має ряд можливостей, типових для так званих утиліт-павуків, які досліджують різні веб-сайти і сервери на предмет наявності на них певних файлів.
Підтримувані платформи
Wget Linux став базою для даного продукту. Як вже було сказано вище, спочатку утиліта працювала лише на Linux, але швидко набрала популярність і була адаптована під інші системи. Наприклад, можна відшукати версію Wget для Windows 7 і більш сучасних ОС, причому є збірки з графічним інтерфейсом. Що стосується Linux, то там програма нерідко вшивається в дистрибутив. Термінали в деяких збірках Linux спочатку підтримують Wget-команди. Ubuntu, Fedora, openSUSE і інші споживчі дистрибутиви працюють з програмою, що називається, з коробки. Далі розглянемо програму більш докладно.
Wget-команди: список основних параметрів
У базовий список команд входять:
- -V - дозволяє дізнатися, яка версія програми використовується в даний момент;
- -h - показує найбільш повний список команд для роботи з додатком;
- -b - дозволяє перевести програму в фоновий режим;
Список параметрів повідомлень
Wget-команди дозволяють повністю контролювати наведену інформацію. Ось їх список:
- -o logfile - створює файл-журнал, в який записується весь процес роботи програми;
- -a logfile - дозволяє доповнити існуючий файл-журнал замість створення нового;
- -d - відображає необхідну розробникам і отладчиком інформацію (допомагає вирішувати проблеми і виправляти помилки в роботі клієнта);
- -q - відключає відображення повідомлень;
- -v - дана опція включена за замовчуванням, надає докладний звіт про всі процеси, що відбуваються в програмі (в реальному часі);
- -nv - значно скорочує інформацію, що отримується користувачем в повідомленнях. Залишаються лише найнеобхідніші дані та оповіщення про помилки;
- -i file (із зазначенням шляху до файлу) - команда дозволяє просканувати файл, виокремивши з нього посилання і виконати загрузку- можна використовувати файли різних форматів, в тому числі HTML, але в разі використання даної команди не варто вказувати шлях до файлу в командному рядку;
- -f - провокує програму на читання файлу як HTML- при використанні цієї команди для роботи з локальним HTML документом, може статися помилка, щоб її уникнути, достатньо вказати в документі
.
Список параметрів завантаження
Основні команди для роботи з завантаженням файлів з допомогу Wget. Ось їх базовий набір:
- --bind-address = ADDRESS - дана команда дозволяє передати дані bind в ADDRESS локальної машини. При використанні з`єднання TCP / IP, команда необхідна для точного зазначення IP-адреси (якщо їх декілька).
- -t number (потрібно вказати число) - дозволяє користувачеві вибрати кількість повторів завантаження. Щоб уникнути повторів слід вказати значення number рівне нулю.
- -nc - дана команда дозволяє повернути попередній стан завантаження в тому випадку, якщо стався збій в мережі, і завантаження перервалася. Якщо не використовувати одну з команд для дозавантаження (-N, -nc, -r), то Wget створить його копію і почне завантаження заново. Параметр -r дозволяє замінити існуючі файли.
- -с - також сприяє дозавантаження файлу, в разі втрати з`єднання (і коли Wget припинив самостійні спроби відновлення підключення). Досить перед посиланням на файл вказати дану команду. Якщо у використовуваній директорії знайдеться аналогічний файл, то Wget проведе його ідентифікацію і в автоматичному режимі прийме рішення про його дозавантаження. Команду можна використовувати лише на тих серверах, де є підтримка заголовків RANGE.
- --progress - дозволяє вибрати тип відображення прогресу завантаження. Можна вказати -progress = bar або progress = dot.
- --spider - замінює команду завантаження файлу на перевірку його наявності на сервері;
- -w (в секундах) - вказує час перерви між завантаженнями.
- -q (вказується в кількості кілобайт або мегабайт) - дозволяє чітко регулювати розмір завантажуваних даних і лімітувати надмірні обсяги. Проте варто зауважити, що один файл буде завантажений незалежно від виставленої квоти (чи то пак з одним файлом ця опція працювати не буде, якийсь би він не був важкий).
Список параметрів HTTP
- --http-user = і --http-passwd = - дозволяють вказати логін і пароль для авторизації на веб-ресурсі, з якого будуть розвантажуватися файли.
- -C = on / off - дозволяє включити або вимкнути кешування даних на стороні сервера.
- --cookies = on / off - те ж саме, що і для cache, тільки для cookies. Дозволяє або зупинити, або відновити обмін даними cookie, необхідними сервера для ведення статистики відвідувань. За замовчуванням опція включена, але cookie-файли не зберігаються на жорсткий диск.
- --save-cookies - дозволяє зберегти файли cookie (тільки свіжі дані).
- --proxy-user та -proxy-passwd - дозволяє вказати логін і пароль для авторизації на проксі-сервері (якщо такий задіяний).
Список параметрів FTP
Просунуті параметри для роботи з Wget. Команди FTP:
- -nr - забороняє видаляти тимчасові файли з директорії .listing, які мимовільно генеруються при роботі з FTP;
- -g on / off - дозволяє використовувати утиліту спеціальні символи в директоріях FTP;
- --passive-ftp - цю команду можна використовувати при наявності Firewall&rsquo-а, щоб активувати пасивний режим FTP (коли користувач сам відповідає за установку з`єднання з сервером).
Wget-команди: приклади використання
Найпростішим і банальним прикладом для роботи з програмою є, звичайно, завантаження файлів. Щоб протестувати Wget-команди, можна почати з простого, знайти посилання на якийсь файл в мережі і ввести в консоль / terminal: Wget * посилання із зазначенням точного і повного шляху до файлу *.
Щоб продовжити завантаження файлу, використовується: Wget -c * посилання із зазначенням точного і повного шляху до файлу *.
Якщо є запланований список з посиланнями на файли і документи, то можна використовувати команду Wget -i filelist.txt.
Що стосується завантаження веб-сторінок, тут все дещо складніше, але при цьому і кількість можливостей значно зростає. Щоб не вводити параметри заново кожен раз, коли виникла необхідність завантажити веб-сайт, можна створити скрипти або прописати всі налаштування в файл .wgetrc.
Зберегти веб-сторінку у вигляді посилань (буде складно відкрити їх на локальній машині) можна за допомогою команди Wget -m * посилання із зазначенням точного і повного шляху до файлу *.
Щоб ця ж сторінка виявилася доступною для перегляду без підключення до мережі Інтернет, можна використовувати команду Wget -r -10 -k * посилання із зазначенням точного і повного шляху до файлу *.
Відео: Як СКАЧАТИ САЙТ ПОВНІСТЮ І ПОВНІСТЮ з картинками з CSS шрифтами і Flash
Помилка формату Wget команда не знайдена може означати будь-яку друкарську помилку і неправильно вказаний параметр.