Меню
безкоштовно
Головна  /  Встановлення та налаштування / Wget-команди: приклади. Консольна програма для завантаження файлів по мережі Wget

Wget-команди: приклади. Консольна програма для завантаження файлів по мережі Wget

wget - керівництво GNU Wget

СИНТАКСИС

wget [ параметри]… [ URL ]…

ОПИС

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

Wget може слідувати по посиланнях сторінок HTML і створювати локальні копії видалених сайтів web, при цьому можливе повне відновлення структури папок сайту ( «recursive downloading» - рекурсивна завантаження). Під час такої роботи Wget шукає файл з правами доступу для роботів (/robots.txt). Можлива також конвертація посилань в завантажених файлах HTML для подальшого перегляду сайту в автономному режимі ( «off-line browsing»).
Перевірка заголовків файлів: Wget може зчитувати заголовки файлів (це доступно по протоколах HTTP і FTP) і порівнювати їх з заголовкам раніше завантажених файлів, після чого може завантажити нові версії файлів. Завдяки цьому при використанні Wget можна реалізовувати дзеркальне зберігання сайтів або набору файлів на FTP.
Wget розроблений для повільних або нестабільних сполук: якщо під час завантаження виникне проблема, то Wget намагатиметься продовжити завантаження файлу. Якщо сервер, з якого завантажується файл, підтримує докачку файлоа, то Wget продовжить завантажувати файл саме з того місця, де обірвалося завантаження.

Опція

Основні параметри

-V --version Відобразити версію Wget. -h --help Відобразити параметри командного рядка Wget. -b --background Перейти в фоновий режим після запуску. Якщо файл для повідомлень не вказано параметром -o, То він записується в wget-log -e command --execute command виконати command як якщо б вона була частиною .wgetrc. Команда буде виконана після команд в .wgetrc.

параметри повідомлень

-o logfile --output-file \u003dlogfile Записувати всі повідомлення в logfile. Інакше вони будуть спрямовані в stderr. -a logfile --append-output \u003dlogfile доповнити logfile. як і -o, тільки logfile не замінює, а доповнюється. якщо logfile не існує, створюється новий файл. -d --debug Відображати повідомлення налагодження - різна інформація, важлива для розробників Wget. -q --quiet Вимкнути повідомлення Wget. -v --verbose Включити докладні повідомлення, з усіма доступними даними. За замовчуванням включено. -nv --non-verbose Ісопльзовать скорочені повідомлення (щоб вимкнути повідомлення, див. -q). Повідомлення про помилки та основна інформація будуть відображатися. -i file --input-file \u003dfile Вважати URL з file. В цьому випадку вказувати URL в командному рядку не потрібно. Якщо URL вказані і в командному рядку і в file, То спочатку будуть завантажені URL з командного рядка. file не обов'язково повинен мати формат HTML (але нічого страшного, якщо це так) - URL просто повинні бути вказані в нем.Еслі ви вкажете --force-html, То файл буде прочитаний як html. В цьому випадку можуть виникнути проблеми з відносними посиланнями. Це можна запобігти додаванням в нього " "Або введенням в командному рядку --base \u003durl. -F --force-html При читанні URL з файлу, включає читання файлу як HTML. Для запобігання помилок в разі локального файлу HTML додайте в файл " "Або введіть параметр командного рядка --base. -B URL --base \u003d URL При читанні URL з файлу ( -F) визначає URL , Що додається до відносних адресах файлу, вказаного параметром -i.

параметри завантаження

--bind-address \u003d ADDRESS При з'єднаннях по протоколам TCP / IP передає "bind ()" в ADDRESS на локальній машині. В ADDRESS може бути зазначено як ім'я хоста, так і IP адреса. Використовується, якщо ваш комп'ютер має декілька адрес IP. -t number --tries \u003dnumber Встановлює число повторів number. Вкажіть 0 або inf для скасування повторів. -O file --output-document \u003dfile Документи не будуть записуватися у відповідні файли, а будуть об'єднані разом і записані в файл file. якщо file існує, то він буде замінений. якщо fileвказано, як , То документи будуть виводитися на стандартний висновок (stdout). Цей параметр автоматично встановлює число повторів в 1. Корисний при закачуванні розділених на частини файлів з поштових серверів через інтерфейс web. -nc --no-clobber Якщо при завантаженні сайту зв'язок обірвався, то вкажіть цей параметр для продовження завантаження з місця переривання связі.Прі запуску Wget без параметрів -N, -nc, або -r завантаження одного і того ж файлу в одну папку призведе до створення копії файлу з ім'ям file.1 . Якщо існує файл і з таким ім'ям, третя копія буде називатися file.2 і т.д. при параметрі -nc виводитимуться попередження про етом.Прі запуску Wget з параметром -r, Але без -N або -nc, Нова завантаження сайту призведе до заміни вже завантажених файлів. При вказівці параметра -nc завантаження продовжиться з місця обриву і завантажені файли не будуть завантажуватися заново (якщо тільки вони не змінилися) .При запуску Wget з параметром -N, З або без -r, Файл буде завантажений тільки якщо він новіший вже існуючого, або якщо розмір його не збігається з наявною копією (див. Порівняння за датою). -nc НЕ комбінується з -N.
При зазначеному параметрі -nc файли з розширеннями .html або (ось це просто жахливо) .htm з локальних дисків будуть завантажуватися, як ніби-то з інтернет. -c --continue Відновлення завантаження файлу. Використовується, якщо завантаження файлу була перервана. Наприклад: wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z

Якщо в цій папці вже є файл з ім'ям ls-lR.Z, То Wget перевірить, чи відповідає даний файл завантажений (не за розміром!), І якщо це так, то відправить запит на сервер на продовження завантаження файлу з того ж місця, де обірвалося завантаження в минулий раз.Помніте, що при обриві зв'язку Wget повторює спроби дозавантаження самостійно і без параметра -c, І тільки коли він «здасться» і завершить свою роботу, то для відновлення завантаження файлу буде потрібен цей параметр.
Без вказівки опції -c попередній приклад приведе до завантаження зазначеного файлу заново з кінцевим ім'ям ls-lR.Z.1, Ніяк не чіпаючи вже наявний ls-lR.Z.
Починаючи з версії 1.7 при вказівці параметра -c якщо файл на сервері має рівний або менший, ніж у локального файлу, розмір, то Wget не буде нічого завантажувати і відобразить відповідне повідомлення.
Однак, при використанні -c будь-який файл на сервері, що має більший розмір, ніж локальний файл, буде розглядатися, як недокачанний. При цьому буде завантажено і записано в кінець файлу тільки "(довжина (удал.файл) - довжина (локал.файл))" байт. Це може стати в нагоді, якщо протягом п'яти років вам потрібно завантажити нові повідомлення з будь-якого журналу (log).
При цьому якщо завантажений файл більше тому, що він змінився, То ви отримаєте пошкоджений файл (тобто файл може в підсумку вийти зовсім відмінним від оригіналу). Потрібно бути особливо уважним при використанні -c разом з -r, Так як кожен змінений файл може бути кандидатом на «незавершену завантаження».
Ви також отримаєте пошкоджений файл якщо ваш сервер проксі HTTP працює нерозумно і при обриві з'єднання пише в файл повідомлення »transfer interrupted». Ймовірно, в наступних версіях Wget сам буде виправляти це.
Пам'ятайте, що -c працює тільки з серверами FTP і HTTP, що підтримують заголовки "Range" (тобто докачку файлів). --progress \u003dtype Індикатор прогресу завантаження і його тип. Можливі значення: «dot» і «bar» .На замовчуванням використовується «bar». вказівка \u200b\u200bопції --progress \u003d bar призведе до промальовуванні красивого індикатора з символів ASCII (як »термометр»). Якщо стандартний виходу не TTY, то буде використаний «dot» .Укажіте --progress \u003d dot щоб переключиться на тип «dot». Прогрес завантаження буде відзначатися додаванням в смузі точки або знака одно, кожен символ представляє однакову кількість данних.Прі використанні цього типу, ви можете вказати його стиль - dot:style. Якщо стиль "default", то кожен символ буде представляти 1 Kб, 10 символів в кластері і 50 в рядку. Стиль "binary" має більш »комп'ютерний» вид - 8Kб в символі, 16 символів в кластері і 48 символів в рядку (виходить рядок на 384 Kб). Стиль "mega" використовується для завантаження великих файлів - кожен символ представляє 64Kб, 8 символів в кластері і 48 символів в рядку (виходить 3 Mб на рядок).
Ви можете визначити стиль за замовчуванням, використовуючи команду "progress" в .wgetrc. Якщо ви хочете, щоб тип індикатора «bar» використовувався завжди (а не тільки при виведенні в stdout), то вкажіть --progress \u003d bar: force. -N --timestamping Включити порівняння за датою. -S --server-response Відображати заголовки, що відправляються серверів HTTP і запити, надіслані серверів FTP. --spider Установка поведінки Wget як «павука», т. Е. Wget НЕ буде завантажувати файли, а тільки буде перевіряти їх наявність. Так можна перевіряти закладки та посилання сайту. наприклад:

Wget --spider --force-html -i bookmarks.html

Wget не містить всі можливості «справжніх павуків» для WWW. -T seconds --timeout \u003dseconds Час очікування в секундах. За замовчуванням час очікування одно 900 с (15 хв). Установка значення в 0 скасовує перевірку часу ожіданія.Пожалуйста, що не знижуйте значення часу очікування, якщо Ви точно не знаєте, що саме робите. -w seconds --wait \u003dseconds Пауза в секундах між декількома завантаженнями (в т.ч. повторами). Це знижує завантаженість сервера. Щоб вказати значення в хвилинах, використовуйте "m", в годиннику - "h", в днях - "d" після чісла.Указаніе великого значення цього параметру може бути корисним, якщо мережа нестабільна (наприклад при обривах модемного зв'язку). --waitretry \u003dseconds Встановлює паузу тільки між повторами обірвалися завантажень. Wget буде чекати 1 секунду після першого обриву, 2 секунди після другого обриву завантаження того ж файлу, і т.д. - до максимуму, який вказується в секундах. Наприклад, при значенні даного параметра, рівного 10, Wget буде чекати в загальному (1 + 2 + ... + 10) \u003d 55 секунд для кожного файла.Ето значення вказується за замовчуванням в файлі wgetrc. --random-wait Деякі сервери, здійснюючи формування файлів журналів з паузами запитів файлів, можуть визначити рекурсивне отримання файлів - сканування роботами, такими, як Wget. Цей параметр встановлює час між запитами, варіюючи паузи згодом, що розраховується від 0 до 2 * wait (Секунд), де wait вказано параметром -w для маскування Wget.Нельзя забувати, що вихідний код Wget доступний, і петому навіть цю маскування при бажанні можна обчислити. -Y on / off --proxy \u003d on / off Підтримка сервера проксі. Включена за замовчуванням, якщо проксі визначено. -Q quota --quota \u003dquota Квота на розмір файлів. Вказується в байтах (за замовчуванням), в кілобайтах Кб (якщо в кінці k) Або в мегабайтах Мб (якщо в кінці m) .При вичерпання квоти поточний файл завантажується до кінця, тобто квота не працює при завантаженні одного файлу. Наприклад, якщо ви ісполніет wget -Q10k ftp://wuarchive.wustl.edu/ls-lR.gz , То файл ls-lR.gz буде повністю завантажений. Також всі зазначені в командному рядку файли будуть обов'язково завантажені, на відміну від списку файлів в одному файлі або як при рекурсивної загрузке.Указаніе 0 або inf скасує квоту.

Параметри завантаження папок

-nd --no-directories Не створювати структуру папок при рекурсивної завантаженні. При зазначеному параметрі, всі файли будуть завантажуватися в одну папку. Якщо файл з такою назвою вже існує, то він буде збережений під ім'ям ІмяФайла.n. -x --force-directories протилежно параметру -nd - створювати структуру папок, починаючи з головної сторінки сервера. наприклад, wget -x http://fly.srk.fer.hr/robots.txt приведе до завантаження файлу в папку fly.srk.fer.hr. -nH --no-host-directories Не створювати порожні папки на початку структури. За замовчуванням / Pub / xemacs /. Якщо ви завантажили її з параметром -r, То вона збережеться під ім'ям ftp.xemacs.org/pub/xemacs/. З параметром -nH з імені початкової папки виріже ftp.xemacs.org/, І вона буде називатися pub / xemacs. А параметр --cut-dirs прибере number компонентів. Приклади роботи параметра --cut-dirs: Без параметрів -\u003e ftp.xemacs.org/pub/xemacs/ -nH -\u003e pub / xemacs / -nH --cut-dirs \u003d 1 -\u003e xemacs / -nH --cut-dirs \u003d 2 -\u003e. --cut-dirs \u003d 1 -\u003e ftp.xemacs.org/xemacs/ ...

Якщо ви хочете просто позбутися від структури папок, то ви можете замінити цей параметр на -nd і -P. На відміну від -nd, -nd працює з підкаталогами - наприклад, при -nH --cut-dirs \u003d 1 підкаталог beta / запишеться, як xemacs / beta. -P prefix --directory-prefix \u003dprefix визначає початкову папку, В якій буде збережена структура папок сайту (або просто файли). За замовчуванням цей параметр дорівнює . (Поточна папка).

параметри HTTP

-E --html-extension Якщо тип завантаженого файлу text / html і його адреса не закінчується на .? , При використанні даного параметра до його імені буде додано .html. Це може бути корисно при дзеркальному зберіганні сторінок .asp, Якщо ви не хочете, щоб вони втручалися в роботу вашого сервера Apache. Інший випадок застосування цього парамеров - це завантаження сторінок-відповідей CGI скриптів. Сторінка з URL виду http://site.com/article.cgi?25 буде збережена, як article.cgi? 25.html.Прімечаніе: при оновленні або інший перезавантаження сторінок з даними параметром останні будуть завантажуватися заново в будь-якому випадку, тому що Wget не може дізнатися, чи має відношення локальний файл X.html до завантажуваного з URL X. Щоб уникнути зайвої перезавантаження, використовуйте опції -k і -K. При цьому оригінальні версії файлів будуть також збережені як X.orig. --http-user \u003duser --http-passwd \u003dpassword Ім'я користувача user і пароль password для сервера HTTP. Залежно від типу відгуку, Wget буде використовувати "basic" (небезпечну) або "digest" (захищену) авторізацію.Можно також вказувати ім'я користувача і пароль і в самому URL. -C on / off --cache \u003d on / off Вмикає або вимикає кешування з боку сервера. При цьому Wget надсилає відповідних запит ( Pragma: no-cache). Також використовується для швидкого оновлення файлів на проксі-сервере.По замовчуванням кешування дозволено. --cookies \u003d on / off Вмикає або вимикає використання cookie. Сервер відправляє клієнту cookie, використовуючи заголовок "Set-Cookie" і клієнт відповідає таким же cookie. Завдяки цьому сервер може вести статистику відвідувачів. За замовчуванням cookie використовуються, але запис їх на диск вимкнена. --load-cookies file Завантажувати cookie з file до першого закладання HTTP. file має текстовий формат, як cookies.txt у Netscape.Етот параметр використовується при створення дзеркал. Для цього Wget відправляє ті ж cookies, які відправляє ваш браузер при з'єднанні з сервером HTTP. Це включається даними параметром - просто вкажіть Wget шлях до cookies.txt. Різні браузери зберігають cookie в різних папках: Netscape 4.x. Файл знаходиться в ~ / .Netscape / cookies.txt. Mozilla і Netscape 6.x. Mozilla зберігає cookies в cookies.txt, Розташованому десь в ~ / .Mozilla, В папці вашого профілю. Повний шлях зазвичай закінчується чимось на зразок ~ / .Mozilla / default / some-weird-string / cookies.txt. Internet Explorer. Щоб експортувати cookie для Wget, виберіть «Файл», «Імпорт і експорт», в майстра виберіть «Експорт файлів cookie». Перевірено в Internet Explorer 5; можливо не буде працювати в ранніх версіях. Інші оглядачі. параметр --load-cookies буде працювати з cookie в форматі Netscape, який підтримується Wget. Якщо ви не можете використовувати параметр --load-cookies, То все одно є вихід. Якщо ваш оглядач підтримує Запишіть ім'я і значення cookie і вручну вкажіть Wget відправку цих cookie: wget --cookies \u003d off --header "Cookie: I \u003d I " --save-cookies file Зберегти cookie з file в кінці сесії. Застарілі cookie не зберігаються. --ignore-length Деякі сервери HTTP (точніше, скрипти CGI) відправляють заголовки "Content-Length", які вказують Wget, що завантажено ще не все. І Wget завантажує один документ кілька раз.С цим параметром, Wget буде ігнорувати заголовки "Content-Length". --header \u003dadditional-header визначає additional-header, Що відправляється сервера HTTP. Він повинен містити : і символи після него.В можете визначити кілька додаткових заголовків через використання --header декілька разів. wget --header \u003d "Accept-Charset: iso-8859-2" --header \u003d "Accept-Language: hr" http://fly.srk.fer.hr/

Вказівка \u200b\u200bпорожнього рядка в значенні заголовка очистить все певні користувачем до цього заголовки. --proxy-user \u003duser --proxy-passwd \u003dpassword Визначає ім'я користувача user і пароль password для авторизації сервері проксі. Буде використаний тип авторизації "basic". --referer \u003durl Додає заголовок `Referer: url'В запит HTTP. Використовується при завантаженні сторінок, які передаються правильно тільки якщо сервер знає, з якої сторінки ви прийшли. -s --save-headers Зберігати заголовки, що відправляються серверів HTTP. -U agent-string --user-agent \u003dagent-string Ідентифікуватися, як agent-string при запиті на HTTP сервер.Протокол HTTP дозволяє визначати себе використанням заголовка агента. Wget за замовчуванням ідентифікується, як Wget /version, де version - це версія Wget.Некоторие сервери видають необхідну інформацію тільки для оглядачів, ідентифікуються як "Mozilla" або Microsoft "Internet Explorer". Цей параметр дозволяє обдурити такі сервери.

параметри FTP

-nr --dont-remove-listing Чи не видаляти тимчасові файли .listing, Що генеруються при завантаженні по FTP. Ці файли містять інформацію про папках серверів FTP. Невидаленого допоможе вам швидко визначити оновлення папок сервера (тобто визначати., Що ваше дзеркало є таким) .Якщо ви не видаляєте .listing, То пам'ятайте про свою безпеку! Наприклад, з таким ім'ям можна створити символічне посилання на / Etc / passwd або щось ще. -g on / off --glob \u003d on / off Вмикає або вимикає використання спеціальних символів ( маски) По протоколу FTP. Це може бути * , ? , [ і ] . Наприклад: wget ftp://gnjilux.srk.fer.hr/*.msg

За замовчуванням використання символів маски дозволено, якщо URL містить такі сімволи.Ви можете також взяти URL в лапки. Це спрацює тільки на серверах Unix FTP (і емулює вихід Unix "ls"). --passive-ftp Включає пасивний режим FTP, коли з'єднання ініціюється клієнтом. Використовується при наявності firewall. --retr-symlinks При рекурсивної завантаженні папок FTP файли, на які вказують символічні посилання, не завантажуються. Даний параметр відключає ето.Параметр --retr-symlinks працює зараз тільки для файлів, не для папок.Помніте, що цей параметр не працює при завантаженні одиночного файлу.

Параметри рекурсивної завантаження

-r --recursive Включити рекурсивне отримання. -l depth --level \u003ddepth Максимальна глибина рекурсивної завантаження depth. За замовчуванням її значення дорівнює 5. --delete-after Видаляти кожну сторінку (локально) після її завантаження. Використовується для збереження нових версій часто запитуваних сторінок на проксі. Наприклад: wget -r -nd --delete-after http://whatever.com/~popular/page/

параметр -r включає завантаження за замовчуванням, параметр -nd відключає створення папок.Прі указаному параметрі --delete-after буде ігноруватися параметр --convert-links. -k --convert-links Після завершення завантаження конвертувати посилання в документі для перегляду в автономному режимі. Це стосується не тільки видимих \u200b\u200bпосилань на інші документи, а посилань на всі зовнішні локальні файли.Каждая посилання змінюється одним з двох способів:

Посилання на файли, завантажені Wget змінюються на відповідні відносні ссилкі.Напрімер: якщо долучення /foo/doc.html, То посилання на також долучення /bar/img.gif буде виглядати, як ../bar/img.gif. Цей спосіб працює, якщо є видиме співвідношення між папками одного і іншого файлу. Посилання на файли, не завантажені Wget будуть змінені на абсолютні адреси цих файлів на віддаленому сервере.Напрімер: якщо долучення /foo/doc.html містить посилання на /bar/img.gif (або на ../bar/img.gif), То посилання у файлі doc.html зміниться на http: //host/bar/img.gif. Завдяки цьому, можливий автономний перегляд сайту і файлів: якщо завантажений файл, на який є посилання, то посилання буде вказувати на нього, якщо немає - то посилання буде вказувати на його адресу в інтернет (якщо такий існує). При конвертації використовуються відносні посилання, значить ви зможете переносити завантажений сайт в іншу папку, не змінюючи його структуру.Только після завершення завантаження Wget знає, які файли були завантажені. Отже, при параметрі -k конвертація відбудеться тільки після завершення завантаження. -K --backup-converted Конвертувати посилання назад - прибирати розширення .orig. Змінює поведінку опції -N. -m --mirror Включити параметри для дзеркального зберігання сайтів. Цей параметр дорівнює кільком параметрам: -r -N -l inf -nr. Для невибагливого зберігання дзеркальних копій сайтів ви можете використовувати цю можливість. -p --page-requisites Завантажувати всі файли, які потрібні для відображення сторінок HTML. Наприклад: малюнки, звук, каскадні стілі.По замовчуванням такі файли не завантажуються. параметри -r і -l, Зазначені разом можуть допомогти, але тому що Wget не розрізняє зовнішні та внутрішні документи, то немає гарантії, що завантажиться все требуемое.Напрімер, 1.html містить тег " " , з посиланням на 1.gif, І тег " ", Що посилається на зовнішній документ 2.html. сторінка 2.html аналогічна, але її малюнок - 2.gifі посилається вона на 3.html. Скажімо, це тривало до досягнення певного чісла.Еслі буде дана команда: wget -r -l 2 http: // I /1.html

то 1.html, 1.gif, 2.html, 2.gif і 3.html завантажаться. Як бачимо, 3.html без 3.gif, Тому що Wget просто вважає число стрибків, за якими він перейшов, доходить до 2 і зупиняється. А при параметрах:

Wget -r -l 2 -p http: // I /1.html

всі файли і малюнок 3.gif сторінки 3.html завантажаться. аналогічно

Wget -r -l 1 -p http: // I /1.html

приведе до завантаження 1.html, 1.gif, 2.html і 2.gif. Щоб завантажити одну вказану статтю HTML з усіма її елементами, просто не вказуйте -r і -l:

Wget -p http: // I /1.html

При цьому Wget буде себе вести, як при параметрі -r, Але будуть завантажені сторінка і її допоміжні файли. Якщо ви хочете, щоб допоміжні файли на інших серверах (тобто через абсолютні посилання) були завантажені, використовуйте:

Wget -E -H -k -K -p http: // I / I

І на завершення, потрібно сказати, що для Wget зовнішнє посилання - це URL, вказаний в тегах " " , ""І" ", Крім" " .

Параметри заборони / дозволу рекурсивної завантаження

-A acclist --accept acclist -R rejlist --reject rejlist Список імен файлів, розділених комами, які слід або не слід завантажувати. Дозволяється завдання імен файлів по масці. -D domain-list --domains \u003ddomain-list список доменів domain-list, З яких дозволено завантажувати файли. Розділяється комами. цей параметр нЕ включає -H. --exclude-domains domain-list Список доменів, з яких нЕ дозволено завантажувати файли --follow-ftp Слідувати по посиланнях FTP з HTML сторінок. Інакше, посилання на файли по протоколу FTP ігноруються. --follow-tags \u003dlist Wget має вбудовану таблицю тегів HTML, в яких він шукає посилання на інші файли. Ви можете вказати додаткові теги в розділеному комами списку list в цьому параметрі. -G list --ignore-tags \u003dlist назад --follow-tags. Для пропуску тегів HTML при рекурсивної завантаженні, вкажіть їх в розділеному комами списку list.Раньше параметр -G був найкращим для завантаження окремих сторінок з їх допоміжними файлами. Ви можете подивитися, як це було, вказавши команду wget -Ga, area -H -k -K -r http: // I / I

Але тепер кращим параметром для завантаження однієї сторінки повністю вважається --page-requisites. -H --span-hosts Дозволяє відвідувати будь-які сервера, на які є посилання. -L --relative Слідувати тільки за відносними посиланнями. При цьому параметрі файли з інших серверів точно не будуть завантажуватися. -I list --include-directories \u003dlist Список папок, розділених комами, з яких дозволено завантажувати файли. елементи списку list -X list --exclude-directories \u003dlist Список папок, розділених комами, що виключаються для завантаження (див. Обмеження по папках). елементи списку list можуть містити символи масок. -np --no-parent Чи не підніматися вище початкової адреси при рекурсивної завантаженні.

Приклади ВИКОРИСТАННЯ

Приклади розділені на три категорії відповідно до їх складності.

просто використання

* Якщо вам потрібно завантажити URL, то введіть: wget http://fly.srk.fer.hr/ * Але що ж буде, якщо з'єднання повільне, а файл довгий? Є можливість обриву зв'язку перед завершенням завантаження. В цьому випадку Wget буде продовжувати спроби нового з'єднання, поки не скінчиться число спроб (за замовчуванням 20). Можна змінити це число, наприклад до 45: wget --tries \u003d 45 http://fly.srk.fer.hr/jpg/flyweb.jpg * Тепер залишимо Wget працювати у фоновому режимі, а його повідомлення будемо записувати в журнал log. довго набирати --tries, Так що використовуємо -t. wget -t 45 -o log http://fly.srk.fer.hr/jpg/flyweb.jpg &

Символ амперсанда в кінці вказує командному інтерпретатору продовжувати роботу, не чекаючи завершення роботи Wget. Щоб програма робила повтори нескінченно - використовуйте -t inf. * Використовувати FTP також дуже просто. Wget бере на себе всі турботи по авторизації.

Wget ftp://gnjilux.srk.fer.hr/welcome.msg * Якщо ви вкажете адресу папки, то Wget завантажить лістинг цієї папки (тобто файли і підкаталоги, що містяться в ній) і конвертує його в формат HTML. Наприклад: wget ftp://prep.ai.mit.edu/pub/gnu/ links index.html

Додаткові можливості користування

* Якщо у Вас є файл з URL, які ви хочете завантажити, то використовуйте параметр -i: Wget -i I

Якщо ви вкажете замість імені файлу, то URL будуть читатися зі стандартного вводу (stdin). * Створити пятиуровневую копію сайту GNU зі структурою папок оригіналу, з однією спробою завантаження, зберегти повідомлення в gnulog:

Wget -r http://www.gnu.org/ -o gnulog * Як і в прикладі вище, але з конвертацією посилання в файлах HTML в локальні, для подальшого автономного перегляду: wget --convert-links -r http: // www.gnu.org/ -o gnulog * Завантажити одну сторінку HTML і всі файли, необхідні для відображення останньої (напр. малюнки, файли каскадних стилів і т. д.). Також конвертувати всі посилання на ці файли: wget -p --convert-links http://www.server.com/dir/page.html

Сторінка HTML буде збережена в www.server.com/dir/page.html і малюнки, каскадні таблиці стилів та інше буде збережено в папці www.server.com/, Крім випадку, коли файли будуть завантажуватися з інших серверів. * Як і в прикладі вище, але без папки www.server.com/. також усе файли будуть збережені в підпапках download /.

Wget -p --convert-links -nH -nd -Pdownload http://www.server.com/dir/page.html * Завантажити index.html з www.lycos.com, Відображаючи заголовки сервера: wget -S http://www.lycos.com/ * Зберегти заголовки в файл для подальшого використання. wget -s http://www.lycos.com/ more index.html * Завантажити дві вищі рівня wuarchive.wustl.edu в / tmp. wget -r -l2 -P / tmp ftp://wuarchive.wustl.edu/ * Завантажити файли GIF папки на HTTP сервері. команда wget http://www.server.com/dir/*.gif не працюватиме, тому що маскувальні символи не підтримуються при завантаженні по протоколу HTTP. Використовуйте: wget -r -l1 --no-parent -A.gif http://www.server.com/dir/

-r -l1 включає рекурсивне отримання з максимальною глибиною 1. --no-parent вимикає проходження по посиланнях в батьківську папку, що має верхній рівень, -A.gif дозволяє завантажувати тільки файли з розширенням .GIF. -A «* .gif» також буде працювати. * Припустимо, що під час рекурсивної завантаження вам потрібно було терміново вимкнути / перезавантажити комп'ютер. Щоб не завантажувати вже наявні файли, використовуйте:

Wget -nc -r http://www.gnu.org/ * Якщо ви хочете вказати ім'я користувача і пароль для сервера HTTP або FTP, використовуйте відповідний синтаксис URL: wget ftp: // hniksic: /.emacs * Ви хочете, щоб завантажуються документи йшли в стандартний висновок, а не в файли? wget -O - http://jagor.srce.hr/ http://www.srce.hr/

Якщо ви хочете влаштувати конвеєр і завантажити всі сайти, посилання на які вказані на одній сторінці:

Wget -O - ttp: //cool.list.com/ | wget --force-html -i -

професійне використання

* Для зберігання дзеркала сторінки (або папки FTP), то використовуйте --mirror (-m), Що замінює -r -l inf -N. Ви можете додати Wget в crontab із запитом на перевірку оновлень щонеділі: crontab 0 0 * * 0 wget --mirror http://www.gnu.org/ -o / home / me / weeklog * Ви також хочете, щоб посилання конвертувалися в локальні. Але після прочитання цього керівництва, ви знаєте, що при цьому не буде працювати порівняння за часом. Вкажіть Wget залишати резервні копії HTML файлів перед конвертацією. Команда: wget --mirror --convert-links --backup-converted http://www.gnu.org/ -o / home / me / weeklog * А якщо не працює локальний перегляд файлів HTML з розширенням, відмінним від .html, наприклад index.cgi, То потрібно передати команду на перейменування всіх таких файлів (content-type \u003d text / html) в імя.html. wget --mirror --convert-links --backup-converted --html-extension -o / home / me / weeklog http://www.gnu.org/

З короткими аналогами команд:

Wget -m -k -K -E http://www.gnu.org/ -o / home / me / weeklog

ФАЙЛИ

/ Usr / local / etc / wgetrc За замовчуванням це розташування глобального файлу налаштувань. .wgetrc Файл налаштувань користувача.

ПОМИЛКИ

Ви можете відправляти звіти про помилки в GNU Wget на адресу< " " > (англійською).
Перед відправкою:

1. Переконайтеся, що поведінка програми дійсно помилково. Якщо Wget «вилітає», то це помилка. Якщо поведінка Wget не відповідає документації, то це помилка. Якщо все працює дивно, але ви не впевнені, як воно повинно працювати насправді, то це теж може бути помилкою. 2. Спробуйте повторити ситуацію з видачею помилки за мінімальну кількість действій.Не поспішайте відправляти .wgetrc, Спробуйте виконати всі дії, що призвели до помилки з іншим файлом налаштувань (або взагалі без нього). 3. Запустіть Wget з параметром -d і відправте журнал (або його частини). набагато легше відшукувати помилки при наявності таких журналів. 4. Якщо Wget видав помилку, то спробуйте запустити його в відладчик, наприклад "gdb` which wget` core "і введіть" where "для отримання зворотного трасування.

СМ. ТАКОЖ

GNU Info для wget.

АВТОРИ

ПЕРЕКЛАД

АВТОРСЬКІ ПРАВА

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
Це вільне програмне забезпечення; умови копіювання шукайте в початкових текстах. НЕ існує ніяких гарантій; програма НЕ призначена для ПРОДАЖ.

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

Що таке Wget?

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

Програма була розроблена інженером з Хорватії Хрвожі Нікшич, а нині розробку підтримує Джузеппе Скрівано і співтовариство Linux. Перша збірка утиліти (тоді ще під назвою GetURL) була представлена \u200b\u200bв січні 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 \u003d ADDRESS - дана команда дозволяє передати дані bind в ADDRESS локальної машини. При використанні з'єднання TCP / IP, команда необхідна для точного зазначення IP-адреси (якщо їх декілька).
  • -t number (потрібно вказати число) - дозволяє користувачеві вибрати кількість повторів завантаження. Щоб уникнути повторів слід вказати значення number рівне нулю.
  • -nc - дана команда дозволяє повернути попередній стан завантаження в тому випадку, якщо стався збій в мережі, і завантаження перервалася. Якщо не використовувати одну з команд для дозавантаження (-N, -nc, -r), то Wget створить його копію і почне завантаження заново. Параметр -r дозволяє замінити існуючі файли.
  • -с - також сприяє дозавантаження файлу, в разі втрати з'єднання (і коли Wget припинив самостійні спроби відновлення підключення). Досить перед посиланням на файл вказати дану команду. Якщо у використовуваній директорії знайдеться аналогічний файл, то Wget проведе його ідентифікацію і в автоматичному режимі прийме рішення про його дозавантаження. Команду можна використовувати лише на тих серверах, де є підтримка заголовків RANGE.

  • --progress - дозволяє вибрати тип відображення прогресу завантаження. Можна вказати -progress \u003d bar або progress \u003d dot.
  • --spider - замінює команду завантаження файлу на перевірку його наявності на сервері;
  • -w (в секундах) - вказує час перерви між завантаженнями.
  • -q (вказується в кількості кілобайт або мегабайт) - дозволяє чітко регулювати розмір завантажуваних даних і лімітувати надмірні обсяги. Проте варто зауважити, що один файл буде завантажений незалежно від виставленої квоти (чи то пак з одним файлом ця опція працювати не буде, якийсь би він не був важкий).

Список параметрів HTTP

  • --http-user \u003d і --http-passwd \u003d - дозволяють вказати логін і пароль для авторизації на веб-ресурсі, з якого будуть розвантажуватися файли.
  • -C \u003d on / off - дозволяє включити або вимкнути кешування даних на стороні сервера.
  • --cookies \u003d 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 команда не знайдена може означати будь-яку друкарську помилку і неправильно вказаний параметр.

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

$ Wget https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r\u003d&ts\u003d1489637334&use_mirror\u003dexcellmedia
Після введення такої команди почнеться скачування Nagios Core. В ході цього процесу можна буде бачити дані про завантаження, наприклад - відомості про те, який обсяг даних вже завантажений, поточну швидкість, і то, скільки часу залишилося до кінця завантаження.

2. Завантаження файлу і збереження його з новим ім'ям

Якщо ми хочемо зберегти завантажений файл під ім'ям, відмінним від його вихідного імені, нам знадобиться команда wget з параметром -O:

$ Wget -O nagios_latest https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r\u003d&ts\u003d1489637334&use_mirror\u003dexcellmedia
При такому підході долучення буде збережений під ім'ям nagios_latest.

3. Обмеження швидкості завантаження файлів

При необхідності швидкість завантаження файлів за допомогою wget можна обмежити. В результаті ця операція не буде займати весь доступний канал передачі даних і не вплине на інші процеси, пов'язані з мережею. Зробити це можна, використовуючи параметр --limit-rate і вказавши обмеження швидкості, виражене в байтах (у вигляді звичайного числа), кілобайтах (додавши після числа K) або мегабайтах (M) в секунду:

$ Wget --limit-rate \u003d 500K https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r\u003d&ts\u003d1489637334&use_mirror \u003d excellmedia
Тут задано обмеження швидкості завантаження, рівне 500 Кб / с.

4. Завершення перерваного завантаження

Якщо в ході завантаження файлів ця операція була перервана, можна відновити завантаження за допомогою параметра -c команди wget:

$ Wget -c https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r\u003d&ts\u003d1489637334&use_mirror\u003dexcellmedia
Якщо цей параметр не використовувати, то завантаження повністю завантажених файлів почнеться спочатку.

Якщо ви завантажуєте файл великого розміру і хочете виконувати цю операцію у фоновому режимі, зробити це можна, використовуючи параметр -b:

$ Wget -b https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r\u003d&ts\u003d1489637334&use_mirror\u003dexcellmedia

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

$ Vi url.txt
У цей файл потрібно помістити адреси - по одному в кожному рядку. Далі, залишилося лише запустити wget, передавши цю утиліту щойно створений файл зі списком завантажень:

$ Wget -I url.txt
Виконання цієї команди приведе до почергової завантаженні всіх файлів зі списку.

7. Збільшення загального числа спроб завантаження файлу

Для того, щоб налаштувати число повторних спроб завантаження файлу, можна використовувати параметр --tries:

Wget --tries \u003d 100 https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r\u003d&ts\u003d1489637334&use_mirror\u003dexcellmedia

Команда завантаження файлу з анонімного FTP-сервера за допомогою wget виглядає так:

$ Wget FTP-URL
Якщо для доступу до файлу потрібне ім'я користувача та пароль, то команда прийме такий вигляд:

$ Wget --ftp-user \u003d dan --ftp-password \u003d ********* FTP-URL

9. Створення локальної копії веб-сайту

Якщо потрібно завантажити вміст цілого веб-сайту, зробити це можна, скориставшись параметром --mirror:

$ Wget --mirror -p --convert-links -P / home / dan xyz.com
Зверніть увагу на додаткові параметри командного рядка:

  • -p: проводиться завантаження всіх файлів, необхідних для коректного відображення HTML-сторінок.
  • --convert-links: посилання в документах будуть перетворені для цілей локального перегляду сайту.
  • -P / home / dan: матеріали будуть збережені в папку / home / dan.

10. Завантаження з сайту тільки файлів певного типу

Для того, щоб завантажити з сайту тільки файли певного типу, можна скористатися параметрами -r -A:

$ Wget -r -A.txt Website_url

11. Пропуск файлів певного типу

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

$ Wget --reject \u003d png Website_url

12. Завантаження з використанням собственного.log-файлу

Для того, щоб завантажити файл і використовувати при цьому собственний.log-файл, скористайтеся параметром -o і вкажіть ім'я файлу журналу:

$ Wget -o wgetfile.log https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r\u003d&ts\u003d1489637334&use_mirror\u003dexcellmedia

підсумки

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

Шановні читачі! Чи користуєтеся ви інструментами командного рядка Linux для завантаження файлів? Якщо так - просимо про них розповісти.

GNU Wget - вільна неінтерактивному консольна програма для завантаження файлів по мережі. Підтримує протоколи HTTP, FTP і HTTPS, а також підтримує роботу через HTTP проксі-сервер. Програма включена майже в усі дистрибутиви GNU / Linux.

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

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

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

GNU Wget дозволяє завантажувати будь-які файли у всесвітній павутині (в тому числі і (X) HTML-сторінки) за протоколами HTTP і HTTPS, а також файли і списки директорій по протоколу FTP.

Файли можна завантажувати рекурсивно по посиланнях в HTML-сторінках, як з одного сайту з певною глибиною проходження по посиланнях, так і з декількох. Крім цього, при завантаженні по FTP файли можна завантажувати "по масці" імені (тобто можна задавати за допомогою "*" групу файлів).

Також GNU Wget підтримує докачку файлу в разі обриву з'єднання.

Introduction to GNU Wget

GNU Wget is a free software package for retrieving files using HTTP, HTTPS, FTP and FTPS the most widely-used Internet protocols. It is a non-interactive commandline tool, so it may easily be called from scripts, jobs, terminals without X-Windows support, etc.

GNU Wget has many features to make retrieving large files or mirroring entire web or FTP sites easy, including:

  • Can resume aborted downloads, using and
  • Can use filename wild cards and recursively mirror directories
  • NLS-based 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
  • Unattended / background operation
  • Uses local file timestamps to determine whether documents need to be re-downloaded when mirroring
  • GNU Wget is distributed under the GNU General Public License.

The source code for GNU Wget can be found on here or on our mirrors.
For more download options, see the FAQ.

Documentation

GNU Wget documentation can be found here.
For manuals of other 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 is currently being maintained by Tim Rühsen, Darshit Shah and Giuseppe Scrivano.
The original author of GNU Wget is Hrvoje Nikšić.
Please do not directly contact either of these individuals with bug reports, or requests for help with Wget: that is what the mailing list is for; please use it instead.

Donators

We thank the TYPO3 & Magento partner AOE media for donating to the wget project.

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 \u003d 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. Наприклад: малюнки, звук і каскадні таблиці стилів. Після завершення завантаження конвертує посилання в документі для перегляду в автономному режимі. Це стосується не тільки видимих \u200b\u200bпосилань на інші документи, а посилань на всі зовнішні локальні файли.

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 \u003d 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 \u003d 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 \u003d 10 http://example.com/file.zip кількість спроб на скачування
wget -Q5m -i http://example.com/ квота на максимальний розмір завантажених файлів, квота діє тільки при рекурсивном скачуванні (-r)
wget -save-cookies cookies.txt -post-data 'username \u003d proft & password \u003d 1' http://example.com/auth.php ідентифікація на сервері зі збереженням кук для подальшого доступу
wget -user-agent \u003d "Mozilla / 5.0 (X11; Linux x86_64) AppleWebKit / 536.5 (KHTML, like Gecko) Chrome / 19.0.1084.9 Safari / 536.5" http://example.com/ вказівка \u200b\u200bUser 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 \u003d http: //proxy.com: 3128 /; wget http://example.com/file.zip скачування файлу * file.zip * через проксі
wget -m -w 2 http://example.com/ віддзеркалення сайту зі збереженням абсолютних посилань і очікуванням 2-х секунд між запитами
wget -limit-rate \u003d 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, SMTP, 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 \u003d value1 & field2 \u003d value2»
curl -X POST «http://example.com/form/» -data «field1 \u003d value1 & field2 \u003d value2» передача даних POST-запитом
curl -X POST -H «Content-Type: application / json» -d ' »title»: »Commando», »year»: »тисячі дев'ятсот вісімдесят п'ять"' http://example.com/api/movies/ передача даних POST-запитом, дані у вигляді JSON
curl -request PUT «http://example.com/api/movie/1/» -data «title \u003d DjangoUnchained» передача даних PUT-запитом
curl -F [Email protected] -F submit \u003d 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 \u003d proft» http://example.com/login/ встановити кукис
curl -cookie-jar cookies.txt http://example.com збереження кукисов в файл
curl -cookie cookies.txt http://example.com/login/ використання збережених кукисов

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