wget
GNU wget — неінтерактивна консольна утиліта для завантаження файлів за протоколами HTTP, HTTPS та FTP.
Знімок екрану Wget в Linux | |
Тип | FTP-клієнт / HTTP-кліент |
---|---|
Автор(и) | Hrvoje Nikšić |
Розробник | Giuseppe Scrivano, Tim Rühsen, Darshit Shah |
Перший випуск | січень 1996 |
Стабільний випуск | 1.20.3 |
Репозиторій | git.savannah.gnu.org/git/wget.git |
Операційна система | Кросплатформне ПЗ |
Мова програмування | C |
Ліцензія | GPLv3+ |
Вебсайт | gnu.org/software/wget/ |
GNU wget у Вікісховищі |
wget дає змогу рекурсивно завантажувати файли, конвертувати посилання, вказувати елементи посилання, які будуть оброблені програмою тощо. Портована й запускається на багатьох UNIX-подібних системах, Microsoft Windows[1], OpenVMS[2], MacOS X[3].
Особливості
Рекурсивне завантаження
Wget може працювати як пошуковий робот, тобто отримувати ресурси (сторінки, зображення, файли стилів, javascript-файли), на які посилаютьcя елементи HTML сторінки, й рекурсивно просуватися web-деревом, доки всі необхідні файли не будуть заватаженні або ж не буде досягнуто максмальної глибини завантаження (встановленої опцією -l). Збережені сторінки можуть бути адаптовані для перегляду їх локально — для цього wget конвертує всі посилання, за якими було завантажено відповідні ресурси, на відносні.
Завантаженний вміст зберігається, успадкувавши структуру каталогів віддаленого серверу.[4]
За допомогою wget можна робити повні або часткові дзеркала сайтів. При автоматичному «дзеркаленні» wget підтримує обробку фалів robots.txt.
При рекурсивному завантаженні з FTP-сервера виконується команда LIST
для кожного підкаталогу, щоб отримати список файлів для завантаження.
Також можна, використовуючи метасимволи, задавати маски, префікси чи суфікси файлів, імен каталогів та списки доменів, які варто обминути при завантаженні, або ж навпаки, які необхідно завантажувати.
Неінтерактивнісь
wget — неінтерактивна програма, тобто, після того, як її запущено з певними параметрами, вона виконує всі необхідні дії і не потребує додадкового втручання у свою роботу. Це дає змогу певною мірою автоматизувати завантаження/дзеркалення ресурсів, оскільки програма може вести журнал завантаження в файл і може бути запущенна у фоновому режимі, що дозволяє клієнту взагалі вийти з системи без зупинки процесу завантаження.
Інші можливості
Використання в MS Windows
wget — утиліта командного рядка. Файл wget.exe бажано розмістити таким чином, щоб він автоматично виконувався (наприклад, у папку C:\windows\System32). Потім викликати командний рядок (command.com або cmd) та набрати wget з параметрами.
Приклади використання
Завантажити пакет вихідних кодів і файл підпису для wget версії 1.11.4, зберігаючи структуру каталогів віддаленого сервера
wget --accept wget-1.11.4.*bz* -r ftp://ftp.gnu.org/gnu/wget/
Виконати те саме, але зберегти файли в чинний каталог, не зберігаючи ієрархію каталогів сервера
wget --no-directories --accept wget-1.11.4.*bz2* -r ftp://ftp.gnu.org/gnu/wget/
Зробити локальну копію документації без збереження структури каталогів у чинному каталозі, з конвертацією посилань, ігноруючи файл robots.txt
wget -np -nd -e robots=off -r -k -p http://www.gnu.org/software/wget/manual/html_node/index.html
Під'єднатись до FTP-сервера example.net з іменем користувача username і паролем mypasswd та скачати всі PNG-зображення (файли, які закінчуються на .png, не враховуючи регістр символів)
wget -np -nd --ftp-user=username --ftp-password=mypasswd --ignore-case -A *.png -r ftp://example.net
wget2
Наступне значне оновлення Wget має відбутися в wget2, який, імовірно, повинен прийти йому на зміну. wget2 має значну кількість удосконалень у порівнянні з Wget, які в першу чергу стосуються продуктивності:
- підтримка HTTP/2;
- Компресія HTTP;
- паралельні з'єднання;
- TCP Fast Open;
та ряд інших.[5]
Основним розробником wget2 є Тім Рюсен (Tim Rühsen), який так само є одним з основних розробників та майнтейнерів Wget.
Клони
- OpenWrt uclient-fetch Архівовано 6 жовтня 2021 у Wayback Machine.
- BusyBox wget
- ToyBox wget
Джерела
- Порт wget для Windows (англ.).
- Порт wget для OpenVMS (англ.).
- Порт ддя MacOS X (англ.).
- Документація по wget (англ.).
- Репозиторій wget2 на gitlab.
Посилання
- Сторінка wget (англ.)
- Інструкція по закачці з інтернету (укр.)