Довідник по командам Wget (завантаження файлу з Інтернету). Приклади використання Wget, або як качати з командного рядка Надіслати інформацію про браузер

Ми покажемо вам 10 практичних прикладів команди wget. wget це безкоштовна утиліта, яка може бути використана для вилучення файлів з використанням HTTP, HTTPS і FTP, які розглядаються як найбільш широко використовувані протоколи Інтернету.

Її назва походить від World Wide Web + get. wget має багато особливостей, що робить її дуже легкою задачею, коли йдеться про отримання великих файлів, рекурсивні завантаження, кілька завантажень файлів або дзеркало цілих веб-сайтів або FTP.

wget не є інтерактивним, що дає більшу гнучкість під час його використання. Вона може бути викликана зі сценаріїв, хрону, терміналів тощо. Вона може працювати у фоновому режимі, навіть якщо користувач не увійшов до системи. Це дозволяє розпочати завантаження файлу і відключитися від системи, дозволяючи wget закінчити роботу.

У цій статті ми продемонструємо використання wgetчерез кілька практичних прикладів, які ви можете використовувати, щоб виконати деякі з найпоширеніших завдань, таких як завантаження файлів або навіть дзеркального відображення цілих веб-сайтів.

Для цієї демонстрації ми встановимо wgetна .

Зверніть увагу, навіть якщо це було перевірено на Ubuntu 16.04, інструкції також можуть бути використані на будь-якому іншому дистрибутиві .

Вхід на сервер та встановлення wget

Ви також можете переконатися, що ваш сервер перебуває в актуальному стані за допомогою наступних команд:

Apt-get update apt-get upgrade

Після того, як були встановлені оновлення, ви можете встановити пакет програмного забезпечення wget за допомогою наступної команди:

Apt-get install wget

Після завершення встановлення ви можете почати використовувати команду wget на сервері.

1. Команда wget для завантаження одного файлу

Найбільш поширене та просте використання wget, це завантажити один файл та зберегти його в поточному каталозі.

Наприклад, щоб завантажити останню версію, можна використовувати наступну команду:

Wget https://wordpress.org/latest.zip

Це висновок, який Ви отримаєте під час завантаження файлу.

Працюючи в консолі, нам досить часто доводиться взаємодіяти з мережею, наприклад, завантажувати файли або цілі інтернет сторінки. Якщо інтернет сторінки ми завантажуємо досить рідко, то з файлами справа зовсім інша. Це можуть бути різні скрипти, інсталяційні пакети, програми, ключі, списки пакетів та багато іншого. Завантажити файл у консолі Linux можна за допомогою утиліти wget. Її ми й розглянемо у цій статті.

Це дуже потужна утиліта, здатна працювати за протоколами HTTP, HTTPS та FTP. Крім того, підтримується робота через проксі. Команда wget linux може виконувати завантаження файлів навіть у фоновому режимі - без участі користувача, на відміну від більшості веб браузерів.

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

Команда wget linux має дуже простий синтаксис:

$ wget опції адрес_посилання

Можна вказати не одну URL для завантаження, а відразу кілька. Опції вказувати не обов'язково, але в більшості випадків вони використовуються для налаштування параметрів завантаження.

Опції

Синтаксис опцій дуже вільний. Кожна опція, як правило, має як довге, так і коротке ім'я. Їх можна записувати як до URL, і після. Між опцією та її значенням не обов'язково ставити пробіл, наприклад, ви можете написати -o log або -olog. Ці значення еквівалентні. Також якщо опції не мають параметрів, не обов'язково починати кожну з дефісу, можна записати їх усі разом: -drc і -d -r -c. Ці параметри wget також еквівалентні.

А тепер перейдемо до списку опцій. У wget занадто багато опцій, ми розберемо лише основні.

  • -V (--version)- Вивести версію програми
  • -h (--help)- Вивести довідку
  • -b (--background)- працювати у фоновому режимі
  • -o файл (--out-file)- вказати лог файл
  • -d (--debug)- увімкнути режим налагодження
  • -v (--verbose)- Виводити максимум інформації про роботу утиліти
  • -q (--quiet)- Виводити мінімум інформації про роботу
  • -i файл (--input-file)- прочитати URL із файлу
  • --force-html- читати файл вказаний у попередньому параметрі як html
  • -t (--tries)- кількість спроб підключення до сервера
  • -O файл (--output-document)- файл до якого будуть збережені отримані дані
  • -з (--continue)- продовжити раніше перерване завантаження
  • -S (--server-response)- вивести відповідь сервера
  • --spider- Перевірити працездатність URL
  • -T час (--timeout)- таймаут підключення до сервера
  • --limit-rate- обмежити швидкість завантаження
  • -w (--wait)- інтервал між запитами
  • -Q (--quota)- максимальний розмір завантаження
  • -4 (--inet4only)- Використовувати протокол ipv4
  • -6 (--inet6only)- Використовувати протокол ipv6
  • -U (--user-agent)- рядок USER AGENT, що відправляється серверу
  • -r (--recursive)- рекурсивна робота утиліти
  • -l (--level)- глибина при рекурсивному скануванні
  • -k (--convert-links)- конвертувати посилання на локальні при завантаженні сторінок
  • -P (--directory-prefix)- каталог, до якого завантажуватимуться файли
  • -m (--mirror)- завантажити сайт на локальну машину
  • -p (--page-requisites)- під час завантаження сайту завантажувати всі необхідні ресурси

Закінчено це не всі ключі wget, але тут і так занадто багато теорії, тепер перейдемо до практики. Приклади wget набагато цікавіші.

Використання wget Linux

Команда wget linux зазвичай поставляється за замовчуванням у більшості дистрибутивів, але якщо ні, її можна дуже просто встановити. Наприклад, установка за допомогою yum буде виглядати наступним чином:

yum -y install wget

А в дистрибутивах на основі Debian:

sudo apt install wget

Тепер перейдемо безпосередньо до прикладів:

Команда wget linux завантажить один файл і збереже його в поточній директорії. Під час завантаження ми побачимо прогрес, розмір файлу, дату його останньої зміни, а також швидкість завантаження:

wget http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

2. Зберегти файл з іншим ім'ям

Опція -О дозволяє задати ім'я файлу, що зберігається, наприклад, завантажити файл wget з ім'ям wget.zip:

wget -O wget.zip http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

3. Завантажити кілька файлів

Ви можете завантажити кілька файлів однією командою навіть за різними протоколами, просто вказавши їх URL:

wget http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz ftp://ftp.gnu.org/gnu/wget/wget-1.10.1.tar.gz.sig

4. Взяти URL із файлу

wget -i /wget/tmp.txt

5. Продовжити завантаження

Утиліта wget linux розрахована на роботу у повільних та нестабільних мережах. Тому якщо ви завантажували великий файл, і під час завантаження було втрачено з'єднання, ви можете завантажити файл wget за допомогою опції -c.

wget -c http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

Опція -b змушує програму працювати у фоновому режимі, весь висновок буде записаний у лог файл, для налаштування лог файлу використовуються спеціальні ключі wget:

wget -b -o ~/wget.log http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

7. Обмеження швидкості завантаження

Команда wget linux дозволяє не лише продовжувати завантаження файлів, а й обмежувати швидкість завантаження. І тому є опція --limit-rate. Наприклад обмежимо швидкість до 100 кілобіт:

wget --limit-rate=100k ftp://ftp.iinet.net.au/debian/debian-cd/8.4.0/amd64/iso-dvd/debian-8.4.0-amd64-DVD-1.iso

Тут доступні, як і в інших подібних командах індекси для вказівки швидкості – k – кілобіт, m – мегабіт, g – гігабіт, і так далі.

8. Підключення по логіну та паролю

Деякі ресурси вимагають автентифікації для завантаження їх файлів. За допомогою опцій --http-user=username, –http-password=password та --ftp-user=username, --ftp-password=password ви можете вказати ім'я користувача та пароль для HTTP або FTP ресурсів.

wget --http-user=narad --http-password=password http://mirrors.hns.net.in/centos/6.3/isos/x86_64/CentOS-6.3-x86_64-LiveDVD.iso

wget --ftp-user=narad --ftp-password=password ftp://ftp.iinet.net.au/debian/debian-cd/6.0.5/i386/iso-dvd/debian-6.0.5-i386 -DVD-1.iso

9. Завантажити та виконати

Ви, певно, вже бачили такі команди. wget дозволяє відразу ж виконувати завантажені скрипти:

wget-O - http://сайт/скрипт.sh | bash

Якщо опції -O не передати аргументів, то завантажений файл буде виведений у стандартний висновок, потім ми можемо його перенаправити з інтерпретатор bash, як показано вище.

10. Зберегти файл у папці

За промовчанням wget зберігає файл у поточній папці, але цю поведінку дуже легко змінити за допомогою опції -P:

wget -P ~/Downloads/ http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

11. Надіслати інформацію про браузер

Деякі сайти фільтрують ботів, але ми можемо передати фальшиву інформацію про наш браузер (user-agent) та сторінку з якою ми прийшли (http-referer).

wget ‐‐refer=http://google.com ‐‐user-agent=”Mozilla/5.0 Firefox/4.0.1″ //сайт

12. Кількість спроб завантаження

За промовчанням wget намагається повторити завантаження 20 разів, перш ніж завершити роботу з помилкою. Кількість разів можна змінити за допомогою опції -tries.

Часто виникає потреба за відсутності графічного інтерфейсу (наприклад, при налаштуванні віддаленого сервера) завантажити файл на диск. До того ж бувають ситуації, коли немає часу читати кілометровий мануал тільки для того, щоб завантажити архів. Тому в цій статті наведу кілька простих прикладів використання популярної консольної "гойдалки" - Wget.

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

Практично у всіх дистрибутивах Wget встановлено за замовчуванням, але якщо це не так, то:

Щоб просто скачати файл, в якості аргументу вказуємо http або ftp посилання на нього:

$wget ftp://somedomain.com/somefile.tar

де "http://somedomain.com/somefile.tar" - пряме посилання на файл, який потрібно завантажити.

У Wget, як і в будь-якій просунутій «інтернет-гойдалці», є можливість докачування. Для цього використовується параметр -cабо -continue :

при обриві закачування, для продовження, у папці з недокачаним файлом пишемо:

$wget http://somedomain.com/somefile.tar

або знову з докачуванням:

$wget --continue http://somedomain.com/somefile.tar

Буває потреба викачати кілька десятків (або сотень) файлів. Один із способів - вказати Wget-у як аргумент текстовий документ, або HTML-сторінку, що містять прямі посилання на файли, які потрібно завантажити. Для цього використовується опція -iабо -input-file :

$ wget --input-file=/path/to/list

Щоб встановити шаблон файлів, які варто закачувати або ігнорувати, зручно використовувати опції -A-acceptі -R-reject, вказуючи як аргументи до них список шаблонів, що розділяються комою. Наприклад, щоб при закачуванні списку файлів ігнорувати файли з розширеннями exe і avi, скористаємося командою:

$ wget --reject *.exe, *.avi --input-file=/path/to/list

Слід зазначити, що у всіх попередніх прикладах закачування буде здійснюватись у поточний каталог. Для вказівки довільного каталогу слід використовувати опцію -Pабо -directory-prefix :

$wget --directory-prefix=/download/directory http://somedomain.com/somefile.tar

Так як Wget використовує канал інтернету "за повною програмою", іноді буває корисно обмежити швидкість закачування, щоб не заважати роботі інших інтернет-додатків. У цьому допоможе опція -limit-rate, як аргумент для якої вкажемо швидкість у кілобайтах:

$wget --limit-rate=120k http://somedomain.com/somefile.tar

Наведені вище опції можна комбінувати в залежності від потреб.

Розглянемо інший цікавий варіант застосування Wget – завантаження сайтів. Можна просто зробити дзеркальну копію сайту, використовуючи опцію -mабо - Mirror :

$ wget -m http://www.somedomain.com/

у разі зберігається архітектура абсолютних посилань.

Також можливий варіант створення копії сайту для локального перегляду, в якому кожне посилання вказує на відповідний локальний файл. Для цього використовуємо наступний набір опцій:

$ wget -k -r -l0 -np --page-requisites http://www.somedomain.com/

коротко про кожну опцію:

-k-convert-links— конвертує абсолютні посилання на локальні

-r-recursive- Рекурсивне завантаження, тобто. всі вкладені посилання та сторінки будуть завантажені

-l-level- рівень вкладення посилань 0 - нескінченно (за замовчуванням - 5)

-np-no-parent— не підніматися вище за рівень початкового посилання

-p -page-requisites- завантажувати все необхідне для коректного відображення сторінок (картинки, css, JavaScript тощо)

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

Ознайомитися з повним посібником Wget можна або .

Здавалося б, у світі, де половина населення планети активно користується комп'ютерами та звикла до стильних графічних інтерфейсів та багатих можливостей такого, вже немає місця для текстових додатків. Якихось 20 років тому інтерфейс комп'ютера був страшною чорною панелью, яка не відображала нічого, крім набору білих символів, а все управління здійснювалося за рахунок текстових команд. Дивно, але наскільки ці програми потворні, настільки ж вони функціональні та надійні.

Що таке Wget?

Wget (яка також називається GNU Wget Linux) є консольною, не інтерактивною програмою для роботи з файлами і веб-сторінками. По суті, це програма для завантаження файлів з мережі Інтернет, що відрізняється відсутністю графічного інтерфейсу і рядом особливостей в управлінні, нетипових для більш сучасних рішень.

Програма була розроблена інженером із Хорватії Хрвожі Нікшичем, а нині розробку підтримує Джузеппе Скривано та спільнота Linux. Перше складання утиліти (тоді ще під назвою GetURL) було представлено у січні 1996 року. Програма була написана мовою програмування Сі та видавалася за ліцензією GNU. Спочатку інструмент було випущено на платформі Linux. Згодом утиліта була перекладена безліч мов і портована на всі популярні платформи, включаючи Wget для Windows 7 (і новіше), Wget для MacOS і так далі.

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

Незважаючи на те, що сучасні браузери зазвичай мають вбудований вони все ж таки розраховані на інтерактивну взаємодію, тому робота в ручному режимі стає скрутною. Wget же, навпаки, дозволяє низку процесів автоматизувати. Наприклад, можна заздалегідь підготувати текстовий документ зі списком веб-сторінок, використовуючи який можна завантажити відразу кілька файлів і сторінок.

Основні функції програми

Все ж насамперед це програма для скачування файлів, з чого випливає очевидність її головної функції.

Wget може завантажувати будь-які матеріали з Інтернету, будь то документи, виконавчі файли або цілі веб-сторінки у форматі HTML (за різними протоколами). Файли можуть бути завантажені з директорій з

Клієнт може виконувати рекурсивне завантаження, автоматично переходячи за посиланнями в рамках певного веб-сайту (або кількох веб-сайтів), при цьому відновлюючи початкову структуру веб-сторінки. Є можливість переглядати завантажені веб-сайти без доступу до мережі (за замовчуванням завантажується у вигляді адрес для перегляду).

Спочатку 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'а, щоб активувати пасивний режим FTP (коли користувач сам відповідає за встановлення з'єднання з сервером).

Wget-команди: приклади використання

Найпростішим і найбанальнішим прикладом для роботи з програмою є, звичайно, завантаження файлів. Щоб протестувати Wget-команди, можна почати з простого, знайти посилання на будь-який файл у мережі та ввести в консоль/terminal: Wget *посилання із зазначенням точного та повного шляху до файлу*.

Щоб продовжити завантаження файлу, використовується: Wget -c *посилання із зазначенням точного та повного шляху до файлу*.

Що стосується завантаження веб-сторінок, тут дещо складніше, але при цьому кількість можливостей значно зростає. Щоб не вводити параметри заново кожного разу, коли виникла потреба завантажити веб-сайт, можна створити скрипти або прописати всі налаштування у файл.wgetrc.

Щоб ця сторінка була доступною для перегляду без підключення до мережі Інтернет, можна використовувати команду Wget -r -10 -k *посилання із зазначенням точного і повного шляху до файлу*.

Помилка Wget команда не знайдена може означати будь-яку помилку і неправильно вказаний параметр.

Introduction to GNU Wget

GNU Wget є безкоштовним програмним забезпеченням пакету для відтворення файлів за допомогою HTTP, HTTPS, FTP і FTPS widely-used Internet protocols. Це не non-interactive commandline tool, так це може бути легко зв'язаний з scripts, jobs, terminals withX-Windows support, etc.

GNU Wget має багато особливих властивостей, щоб відновити великі файли або завантажувати в Інтернеті або FTP електронної пошти, включаючи:

  • Can resume aborted downloads, using and
  • Can use filename wild cards and recursively mirror directories
  • NLS-базовані message files for many different languages
  • Optionally converts absolute links in downloaded documents to relative, so that downloaded documents may link to each other locally
  • Runs on most UNIX-like operating systems as well as Microsoft Windows
  • Supports HTTP proxies
  • Supports HTTP cookies
  • Supports persistent HTTP connections
  • Безпосередній/підприємство
  • Use local file timestamps to determine whether documents need to be re-downloaded when mirroring
  • GNU Wget is distributed за GNU General Public License.

Source code for GNU Wget може бути знайдено там або на наших світах.
For more download options, див. FAQ.

Documentation

GNU Wget документація може бути знайдена.
Для manuals of інших GNU packages, please see www.gnu.org.

Additional Information

Currently GNU Wget2 is being developed.
Please help us if you can with testing, docs, organization, development, ... see you at Wget2 collaboration site

Maintainer

GNU Wget є поточно перебуваючи в лавах Tim Rühsen, Darshit Shah і Giuseppe Scrivano.
Оригінальний автор GNU Wget є Hrvoje Nikšić.
Please do not Directly contact either these individuals with bug reports, or requests for help with Wget: that is what the mailing list is for; please use it instead.

Donators

Маємо на увазі TYPO3 & Magento партнер AOE media для того, щоб зробити цей проект.

wget — ВЛАСНИК ЗАКАЧУВАНЬ
(ЗАВАНТАЖЕННЯ ФАЙЛІВ І САЙТІВ З ІНТЕРНЕТУ В GNU/LINUX)

Про кохання wget так багато пісень заспіване,
Я заспіваю, тобі заспіваю, ще одну…

Романс з к/ф «Три друзі»

Завдання:хочеться Teleport Pro і FlashGet для Лінукс, качати сайти та файли.

Рішення:відкрийте для себе wget- це все в одному флаконі і навіть більше.

Часто шукають насамперед безліч графічних програм із кількома кнопками — але є одна утиліта, яка здатна замінити їх і надає можливості, яких більше немає ніде.

Це wgetі все, що на ньому ґрунтується. Освоєння цієї утиліти вимагає деяких зусиль і хоча б прочитання керівництва, але замість цього ви отримуєте потужну утиліту, яка буде економити ваш час і трафік.

Варто сказати, що man wgetпри першому погляді справляє нищівне враження, проте потім розумієш, що далеко не всі опції потрібні при повсякденному використанні. Нижче наводяться найчастіше використовувані мною опції.

Використання а-ля "FlashGet for Linux"

Потрібно просто завантажити файл та/або продовжити завантаження, яке обірвалося. Це дуже і дуже легко зробити, написавши в терміналі кілька рядків.

Просто завантажити файл wget-ом:

$wget ftp://vasya.pupkin.com/film.avi

Ще варіант: частина файлу завантажена, завантаження обірвалося.

Для продовження завантаження файлу пишемо:

$wget -c ftp://vasya.pupkin.com/film.avi або $wget -continue ftp://vasya.pupkin.com/film.avi

Замість -с можна написати -continue, тому що кожен ключ має коротку та довгу форми: довгі ключі простіше запам'ятати, але довше писати. Можна легко змішувати різні форми написання.

Щоб викачати файли зі списку, що містить прямі посилання:

$wget -i pupkinlist або $wget-input-file=pupkinlist

Тут вказується лише файл, В якому містяться посилання. Файл може бути html-сторінкою, у якій є посилання.

Windows. Встановлення wget у Windows XP/7/8/8.1/10

Вони будуть викачані зазначеною вище командою.

Використання а-ля "Teleport Pro for Linux"

Під час завантаження веб-сайтів можливостей більше, і тому потрібно більше ключів. Знову ж таки, запам'ятовувати їх все не обов'язково, можна зробити скрипт (а краще кілька — під різні випадки) та викликати їх.

Дзеркало сайтів на локальну машину:

$ wget -m http://www.vasyapupkin.com/

Копіювання сайту для локального перегляду:

$ wget -r -l0 -np -k http://www.vasyapupkin.com/

При цьому буде включено рекурсивне вивантаження (ключ -r, -recursive), тобто не тільки файли з головної сторінки, але й інші, на які ведуть посилання (ключ -l0 нескінченна вкладеність посилань).

Імена посилань будуть переконвертовані на локальні для зручності перегляду (ключ -k). Так само за допомогою ключа -np (no-parrent) можна заборонити wget підніматися вище за початкову адресу при рекурсивному завантаженні, тобто якщо ви копіюєте http://home.vasyapupkin.com/ то за посиланнями з основного сайту http://www. vasyapupkin.com/ не будуть скопійовані.

Декілька корисних ключів

Увімкнення та вилучення файлів під час завантаження:

A acclist або -accept acclist -R rejlist або -reject rejlist

Задає шаблони, що розділяються комами, імен файлів, які слід завантажувати (acclist) або ігнорувати (rejlist).

K або convert-links

Перетворює абсолютні посилання (типу http://www…) на відносні (типу file///home/vasya/www/index.html) для зручності локального перегляду. Щоб локально в броузері переглянути завантажений сайт, відкриваєте файл index.html в броузері і ходите за посиланнями так само, як якщо б ви були підключені до інтернету.

H або -span-hosts

Дозволяє wget завантажувати дані з будь-якої адреси, на яку є посилання в документі, що запитується.

P або -page-requisites

Завантажує всі файли, які потрібні для відображення сторінок HTML. Наприклад: малюнки, звук та каскадні стилі. Після завершення завантаження конвертує посилання в документі для перегляду в автономному режимі. Це стосується не тільки видимих ​​посилань на інші документи, а посилань на зовнішні локальні файли.

siteget - простий скрипт для скачування сайтів

Якщо вам набридли всі ці премудрості з ключами wgetі потрібно просто скачати сайт, то sitegetвам безперечно сподобається. Це досить простий скрипт із необхідними параметрами для завантаження сайту.

Завантажити скрипт можна звідси. Після закачування на комп'ютер має сенс скопіювати його в режимі суперкористувача в одну з директорій, прописаних у змінній $PATH: операційна система автоматично переглядає їх у пошуках файлів, що виконуються. Наприклад, у директорію /user/local/bin:

# cp (директорія, де знаходиться скрипт)/siteget /user/local/bin/siteget

Скрипту також необхідно присвоїти атрибут виконуваного файлу:

# chmod a+x /usr/local/bin/siteget

Використання sitegetдуже просте:

$ siteget http://www.vasyapupkin.com/

Кафедра бібліістики МДА, 2008.
Останнє оновлення:
Адреса в інтернеті: http://www.bible-mda.ru/soft/wget/wget.html

Просто Завантажити файл wget-ом:

wget ftp://vasya.pupkin.com/film.avi

Для продовження завантаження, що обірвалосяпишемо:

wget -c ftp://vasya.pupkin.com/film.avi

wget-continue ftp://vasya.pupkin.com/film.avi

Як і в інших програмах, ключі мають коротку та довгу форми, і натомість можна написати. Довгі ключі легше запам'ятати, але довше писати. Можна легко змішувати різні форми написання.

Щоб викачати файли зі списку, Що містить прямі посилання:

wget -i pupkinlist.txt

wget -input-file=pupkinlist.txt

Тут вказується лише файл, у якому містяться посилання. Файл може так само бути сторінкою, в якій є посилання. Вони будуть викачані зазначеною вище командою.

Використання а-ля Teleport Pro for Linux.

Під час завантаження веб-сайтів можливостей більше, і тому потрібно більше ключів.

Знову ж таки, запам'ятовувати їх все не обов'язково, можна зробити скрипт (а краще кілька — під різні випадки) та викликати їх.

Так от, якщо є веб-сайт, і хотілося б мати його локальну копію на комп'ютері, щоб, відключившись від мережі, можна було не кваплячись його почитати.

Дзеркало сайтів на локальну машину:

wget -m http://www.vasyapupkin.com/

еквівалентно, ці опції описані нижче.

Копіювання сайту для локального перегляду (із заміною інтернет-посилань на локальні адреси завантажених сторінок):

wget -r -l0 -k http://www.vasyapupkin.com/

При цьому буде включено рекурсивне вивантаження (ключ -r, -recursive),

У wget є велика кількість корисних опцій - побільше, ніж у Teleport"а прапорців. Будучи загорнутим у скрипт, наприклад, і покладеним на чільне місце (вказане в), маємо зручність застосування та багатство налаштувань.

Не підніматися вище за початкову адресу при рекурсивному завантаженні.

Включити рекурсивний перегляд каталогів та підкаталогів на віддаленому сервері.

Визначити максимальну глибину рекурсії рівної depth під час перегляду каталогів на віддаленому сервері. За промовчанням depth=5.

Не переходити до батьківського каталогу під час пошуку файлів. Це дуже корисна властивість, оскільки вона гарантує, що копіюватимуться тільки ті файли, які розташовані нижче певної ієрархії.

Список імен файлів, розділених комами, які слід (accept) чи не слід (reject) завантажувати. Дозволяється завдання імен файлів за маскою.

Wget для Windows. Встановлення та використання.

Перетворити абсолютні посилання у документі на відносні посилання. Перетворення зазнають лише ті посилання, які вказують на реально завантажені сторінки; решта не будуть перетворюватися. Зауважимо, що лише наприкінці роботи wget зможе дізнатися, які сторінки були реально завантажені. Отже, лише наприкінці роботи wget виконуватиметься остаточне перетворення.

Вказати ім'я користувача та пароль на сервері.

Дозволяє відвідувати будь-які сервери, на які є посилання.

Завантажувати всі файли, які потрібні для відображення сторінок. Наприклад: малюнки, звук, каскадні стилі (). За промовчанням такі файли не завантажуються. Параметри та, вказані разом можуть допомогти, але т.к. wget не розрізняє зовнішні та внутрішні документи, то немає гарантії, що завантажиться все необхідне.

Посилання

Інформація про програму

Wget це консольна утиліта для завантаження файлів за допомогою HTTP, FTP протоколів і проксі-з'єднання.

wget для Windows

Програма дозволяє копіювати прості html сайти із збереженням структури каталогів. Дозволяє знаходити та обробляти дані robots.txt, вміє конвертувати посилання для подальшого офлайн доступу. Містить інструмент для порівняння заголовків файлів для завантаження нових версій та створення дзеркальних копій.

Програма підтримує відновлення роботи при виникненні помилки або обриву зв'язку, рекурсивну стрибку із зазначенням маски імені та глибини переходу за посиланнями. Вміє авторизуватися на сервері FTP, підключатися у фоновому режимі до захищених https сайтів.

Програма здатна вести докладний лог, є оптимальним засобом створення дзеркал віддалених сховищ або веб-ресурсів, поточного копіювання даних з FTP серверів.

Завантажити безкоштовно повну російську версію Wget з офіційного сайту без реєстрації та смс.

Системні вимоги

  • Підтримувані ОС: Windows XP, 7, 10, 8, Vista, 8.1
  • Розрядність: 32 bit, x86, 64 bit

Wget - консольний завантажувач для завантаження сайтів та його використання у Windows

wget - консольна утиліта для завантаження файлів/сайтів, вміє викачувати файли рекурсивно, слідуючи за посиланнями автоматично.

Команда Опис
wget http://example.com/file.zip завантаження файлу file.zip в поточну директорію
wget -P /path/to/save http://example.com/file.zip скачування файлу file.zip в директорію /path/to/save
wget -c http://example.com/file.zip докачування файлу file.zip у випадки обриву
wget -O arch.zip http://example.com/file.zip скачування файлу file.zip та збереження під ім'ям arch.zip
wget -i files.txt завантаження файлів зі списку в files.txt
wget -tries=10 http://example.com/file.zip кількість спроб на скачування
wget -Q5m -i http://example.com/ квота на максимальний розмір завантажених файлів, квота діє тільки при рекурсивному завантаженні (-r)
wget —save-cookies cookies.txt —post-data 'username=proft&password=1' http://example.com/auth.php ідентифікація на сервері із збереженням кук для подальшого доступу
wget —user-agent="Mozilla/5.0 (X11; Linux x86_64)" AppleWebKit/536.5 (KHTML, як Gecko) вказівку User Agent
echo ‘wget http://example.com/file.zip’ | at 12:00 скачати http://example.com/file.zip о 12:00 у поточну директорію
wget ftp://example.com/dir/*.zip
wget http://example.com/dir/file(1..10).zip скачування всіх файлів за шаблоном
wget -S http://example.com/ виведення заголовків HTTP серверів та відповідей FTP серверів
wget - spider -i urls.txt перевірка посилань у файлі на доступність
wget -b http://example.com/file.zip скачування файлу на тлі, лог пишеться в wget.log, wget.log.1 і т.д.
export http_proxy=http://proxy.com:3128/;wget http://example.com/file.zip скачування файлу *file.zip* через проксі
wget -m -w 2 http://example.com/ дзеркало сайту зі збереженням абсолютних посилань та очікуванням 2-х секунд між запитами
wget-limit-rate=200k http://example.com/file.zip обмеження швидкості скачування
wget -R bmp http://example.com/ не завантажувати bmp файли
wget -A png,jpg http://example.com/ завантажувати тільки файли png та jpg

Приклад використання для завантаження документації Django:

  • - ходимо за посиланнями (рекурсивне скачування)
  • - Перетворюємо посилання до локального вигляду
  • - Завантаження ресурсів необхідних для відображення html-сторінки (стилі, картинки і т.д.)
  • - Глибина скачування, 0 - Нескінченна вкладеність посилань
  • - Не перезаписувати існуючі файли
  • — не підніматися вище за початкову адресу при рекурсивному завантаженні

Часто використовуються wgetпараметри можна винести на ~/.wgetrc.

curl - консольна утиліта передачі даних використовуючи URL-синтаксис, підтримуються протоколи DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTPS, Telnet та TFTP.

Команда Опис
curl http://proft.me отримуємо зміст головної сторінки
curl -o index.html http://proft.me отримуємо зміст головної сторінки у файл index.html
curl -L http://example.com при отриманні вмісту сторінки слідувати за редиректами (якщо такі є)
curl -u username:password http://example.com/login/ отримання сторінки прихованої за Basic HTTP Authentication
curl -x proxy.com:3128 http://proft.me отримання сторінки використовуючи проксі
curl -I proft.me отримуємо http-заголовки із сайту
curl -H ‘Host: google.ru’ http://proft.me підмінити домен під час звернення до сервера (передача свого заголовка)
curl -request POST "http://example.com/form/" -data "field1=value1&field2=value2"
curl -X POST "http://example.com/form/" - data "field1=value1&field2=value2" передача даних POST-запитом
curl -X POST -H "Content-Type: application/json" -d "title":"Commando","year":"1985" "http://example.com/api/movies/ передача даних POST-запитом, дані у вигляді JSON
curl -request PUT "http://example.com/api/movie/1/" -data "title=DjangoUnchained" передача даних PUT-запитом
curl-F [email protected]-F submit=OK http://example.com/upload/ завантаження файлу file.zip у форму (multipart/form-data)
curl -u username:password -O ftp://example.com/file.zip завантажити файл з FTP
curl -u username:password -T file.zip ftp://example.com/ завантажити файл по FTP
curl - cookie "login=proft" http://example.com/login/ встановити кукіс
curl -cookie-jar cookies.txt http://example.com збереження кукісів у файл
curl - cookies cookies.txt http://example.com/login/ використання збережених кукісів

Додаткове чтиво

Сподобалася стаття? Поділіться з друзями!