Контакти

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

Часто виникає необхідність при відсутності графічного інтерфейсу (наприклад при налаштуванні віддаленого сервера) скачати файл на диск. До того ж бувають ситуації, коли немає часу (або просто влом) читати кілометровий мануал тільки для того, щоб завантажити архів. Тому в даній статті приведу кілька простих прикладів використання популярної консольної «гойдалки» - 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 \u003d / path / to / list

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

$ Wget --reject * .exe, * .avi --input-file \u003d / path / to / list

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

$ Wget --directory-prefix \u003d / download / directory http://somedomain.com/somefile.tar

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

$ Wget --limit-rate \u003d 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 можна або.

wget - текстова програма для скачування файлів.

Якщо можливостей wget не вистачає, то можна використовувати curl.

приклади

просто завантажити файл 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.txt

Wget --input-file \u003d pupkinlist.txt

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

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

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

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

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

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

M еквівалентно -r -N -l inf -nr, ці опції описані нижче.

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

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

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

Опції

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

Np, -no-parent - не підніматися вище початкової адреси при рекурсивної завантаженні.

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

L , -Level \u003d - визначити максимальну глибину рекурсії рівній depth при перегляді каталогів на віддаленому сервері. За замовчуванням depth \u003d 5.

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

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

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

-http-user \u003d , -Http-passwd \u003d Вказати ім'я користувача і пароль на HTTP-сервер.

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

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

У Вас в браузері заблокований JavaScript. Дозвольте JavaScript для роботи сайту!

WGet - програма для завантаження файлів і
скачування сайту цілком.

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

Щоб отримати підказку по параметрах WGet наберіть команду man wget в Linux або wget.exe --help в Windows.

Припустимо, ми хочемо створити повну копію сайту www.site.com на своєму диску. Для цього відкриваємо командний рядок (Wget - утиліта консольна) і пишемо таку команду:

Wget.exe -r -l10 -k -p -E -nc http://www.site.com WGET рекурсивно (параметр -r) обійде каталоги і підкаталоги на віддаленому сервері включаючи css-стилі (-k) з максимальною глибиною рекурсії рівній десяти (-l), а потім замінити в завантажених HTML-документах абсолютні посилання на відносні (-k) і розширення на html (-E) для подальшого локального перегляду завантаженого сайту. При повторному скачування не будуть особи і перезаписуватися повтори (-nc). На жаль внутрішні стилі і картинки зазначені в стилях не завантажуються

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

Wget.exe -r -l10 -k http://www.site.com -np

Wget.exe -r -l10 -k http://www.site.com -c

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

Wget.exe -r -l10 -k http://www.site.com -P c: \\ internet \\ files

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

Wget -m -k -nv -np -p --user-agent \u003d "Mozilla / 5.0 (compatible; Konqueror / 3.0.0 / 10; Linux)" АДРЕС_САЙТА

Wget -i FILE

Завантаження файлу в зазначений каталог (-P):

Wget -P / path / for / save ftp://ftp.example.org/some_file.iso

Використання імені користувача і пароля на FTP / HTTP (варіант 1):

Wget ftp: // login: [Email protected]/some_file.iso

Використання імені користувача і пароля на FTP / HTTP (варіант 2):

Wget --user \u003d login --password \u003d password ftp://ftp.example.org/some_file.iso

Завантаження у фоновому режимі (-b):

Wget -b ftp://ftp.example.org/some_file.iso

Продовжити (-c continue) завантаження раніше в повному обсязі завантаженого файлу:

Wget -c http://example.org/file.iso

Викачати з глибиною проходження 10, записуючи протокол в файл log:

Wget -r -l 10 http://example.org/ -o log

Завантажити вміст каталогу http://example.org/~luzer/my-archive/ і всіх його підкаталогів, при цьому не піднімаючись по ієрархії каталогів вище:

Wget -r --no-parent http://example.org/~luzer/my-archive/

Для того, щоб у всіх викачаних сторінках посилання перетворювалися в відносні для локального перегляду, необхідно використовувати ключ -k:

Wget -r -l 10 -k http://example.org/

Також забезпечення ідентифікації на сервері:

Wget --save-cookies cookies.txt --post-data "user \u003d foo & password \u003d bar" http://example.org/auth.php

Скопіювати весь сайт цілком:

Wget -r -l0 -k http://example.org/

Наприклад, не завантажувати zip-архіви:

Wget -r -R «* .zip» http://freeware.ru

Залогінитися і завантажити файлик ключа

@echo off wget --save-cookies cookies.txt --post-data "login \u003d ТВОЙЛОГІН & password \u003d ТВОЙПАРОЛЬ" http://beta.drweb.com/files/ -O- wget --load-cookies cookies.txt "http : //beta.drweb.com/files/? p \u003d win %% 2Fdrweb32-betatesting.key & t \u003d f "-O drweb32-betatesting.key

Увага! Регістр параметрів WGet різний!

Базові ключі запуску

-V
--version
Показує версію Wget.

-h
--help
Виводить допомогу з описом всіх ключів командного рядка Wget.

-b
--background
Перехід в фоновий режим відразу після запуску. Якщо вихідний файл не заданий -o, вихід перенаправляється в wget-log.

-e command
--execute command
Виконати command, як якщо б вона була частиною файлу. Команда, запущена таким чином, буде виконана після команд в.wgetrc, отримуючи пріоритет над ними. Для завдання більш ніж однієї команди wgetrc використовуйте кілька ключів -e.

Протоколювання і ключі вхідного файлу

-o logfile
--output-file \u003d logfile
Протоколювати всі повідомлення в logfile. Зазвичай повідомлення виводяться в standard error.

-a logfile
--append-output \u003d logfile
Дописувати в logfile. Те ж, що -o, тільки logfile також не буде перезаписано, а дописується. Якщо logfile не існує, буде створений новий файл.

-d
--debug
Включає висновок налагоджувальної інформації, тобто різної інформації, корисної для розробників Wget при некоректній роботі. Системний адміністратор міг вибрати збірку Wget без підтримки налагодження, в цьому випадку -d працювати не буде. Пам'ятайте, що збірка з підтримкою налагодження завжди безпечна - Wget НЕ буде виводити налагоджувальної інформації, поки вона явно не затребувана через -d.

-q
--quiet
Вимикає висновок Wget.

-v
--verbose
Включає докладний висновок з усією можливою інформацією. Задано за замовчуванням.

-nv
--non-verbose
Неподробно висновок - відключає подробиці, але не замовкає зовсім (використовуйте -q для цього), відображаються повідомлення про помилки і основна інформація.

-i file
--input-file \u003d file
Читати URL з вхідного файлу file, в цьому випадку URL не обов'язково вказувати в командному рядку. Якщо адреси URL вказані в командному рядку і у вхідному файлі, першими будуть запитані адреси з командного рядка. Файл не повинен (але може) бути документом HTML - досить послідовного списку адрес URL. Однак, при вказівці --force-html вхідний файл буде вважатися html. В цьому випадку можуть виникнути проблеми з відносними посиланнями, які можна вирішити зазначенням всередині вхідного файлу або --base \u003d url в командному рядку.

-F
--force-html
При читанні списку адрес з файлу встановлює формат файлу як HTML. Це дозволяє організувати закачування за відносними посиланнями в локальному HTML-файлі при вказівці всередині вхідного файлу або --base \u003d url в командному рядку.

-B URL
--base \u003d URL
Використовується спільно c -F для додавання URL до початку відносних посилань у вхідному файлі, заданому через -i.

ключі скачування

--bind-address \u003d ADDRESS
При відкритті клієнтських TCP / IP з'єднань bind () на ADDRESS локальної машини. ADDRESS може вказуватися у вигляді імені хоста або IP-адреси. Цей ключ може бути корисний, якщо машині виділено декілька адрес IP.

-t number
--tries \u003d number
Встановлює кількість спроб в number. Завдання 0 або inf відповідає нескінченного числа спроб. За замовчуванням дорівнює 20, за винятком критичних помилок типу "в з'єднанні відмовлено" або "файл не знайдено" (404), при яких спроби не поновлюються.

-O file
--output-document \u003d file
Документи зберігаються не в відповідні файли, а конкатенуються в файл з ім'ям file. Якщо file вже існує, то він буде перезаписаний. Якщо в якості file задано -, документи будуть виведені в стандартний висновок (скасовуючи -k). Пам'ятайте, що комбінація з -k нормально визначена тільки для скачування одного документа.

-nc
--no-clobber
Якщо файл скачується більше одного разу в один і той же каталог, то поведінка Wget визначається декількома ключами, включаючи -nc. У деяких випадках локальний файл буде затертий або перезаписан при повторному завантаженні, в інших - збережений.
При запуску Wget без -N, -nc або -r скачування того ж файлу в той же каталог призводить до того, що разі основний файл зберігається, а нова копія записується з ім'ям file.1. Якщо файл скачується знову, то третя копія буде названа file.2 і т.д. Якщо зазначений ключ -nc, така поведінка придушується, Wget відмовиться завантажувати нові копії файлу. Таким чином, "no-clobber" невірне вживання терміна в даному режимі - запобігає НЕ затирання файлів (цифрові суфікси вже запобігали затирання), а створення множинних копій.
При запуску Wget з ключем -r, але без -N або -nc, перезакачка файлу призводить до перезапису на місце старого. Додавання -nc запобігає така поведінка, зберігаючи вихідні версії файлів і ігноруючи будь-які нові версії на сервері.
При запуску Wget з ключем -N, з або без -r, рішення про скачування нової версії файлу залежить від локальної та віддаленої тимчасових відміток і розміру файлу. -nc не може бути вказаний разом з -N.
При вказівці -nc файли з расшіреніямі.html і.htm будуть завантажуватися з локального диска і оброблятися так, як якщо б вони були завантажені з мережі.

-c
--continue
Продовження закачування частково завантаженого файлу. Це корисно при необхідності завершити закачування, розпочату іншим процесом Wget або іншою програмою. наприклад:

Wget -c ftp: //сайт/ls-lR.Z

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

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

Без -c попередній приклад збереже віддалений файл в ls-lR.Z.1, залишивши ls-lR.Z без зміни.

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

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

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

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

Зіпсований файл також можна отримати при використанні -c з кривим HTTP проксі, який додає рядок тіма "закачування перервана". У майбутніх версіях можливо додавання ключа "відкат" для виправлення таких випадків.

Ключ -c можна використовувати тільки з FTP і HTTP серверами, які підтримують заголовок Range.

--progress \u003d type
Вибір типу індикатора ходу закачування. Можливі значення: "dot" і "bar".
Індикатор типу "bar" використовується за умовчанням. Він відображає ASCII смугу ходу завантаження (т.зв. "термометр"). Якщо висновок не в TTY, то за замовчуванням використовується індикатор типу "dot".
Для перемикання в режим "dot" вкажіть --progress \u003d dot. Хід закачування відстежується і виводиться на екран у вигляді точок, де кожна точка являє фіксований розмір завантажених даних.
При точкової закачування можна змінити стиль виведення, вказавши dot: style. Різні стилі визначають різне значення для однієї точки. За замовчуванням одна точка являє 1K, 10 точок утворюють кластер, 50 точок у рядку. Стиль binary є більш "комп'ютер" -орієнтуватися - 8K на точку, 16 точок на кластер і 48 точок на рядок (384K в рядку). Стиль mega найбільш підходить для скачування дуже великих файлів - кожній точці відповідає 64K, 8 точок на кластер і 48 точок в рядку (рядок відповідає 3M).
Стиль за замовчуванням можна задати через.wgetrc. Ця установка може бути перевизначена в командному рядку. Винятком є \u200b\u200bпріоритет "dot" над "bar", якщо висновок не в TTY. Для неодмінного використання bar вкажіть --progress \u003d bar: force.

-N
--timestamping
Включає використання тимчасових відміток.

-S
--server-response
Висновок заголовків HTTP серверів і відповідей FTP серверів.

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

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

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

-T seconds
--timeout \u003d seconds
Встановлює з'єднання з мережею час очікування в seconds секунд. Еквівалентно одночасного вказівкою --dns-timeout, --connect-timeout і --read-timeout.
Коли Wget з'єднується або читає з віддаленого хоста, він перевіряє час очікування і перериває операцію при його закінчення. Це запобігає виникненню аномалій, таких як повисло читання або нескінченні спроби з'єднання. Єдиний час очікування, встановлене за замовчуванням, - це час очікування читання в 900 секунд. Установка часу очікування в 0 скасовує перевірки.
Якщо ви не знаєте точно, що ви робите, краще не встановлювати ніяких значень для ключів часу очікування.

--dns-timeout \u003d seconds
Встановлює час очікування для запитів DNS в seconds секунд. Незавершені в зазначений час запити DNS будуть неуспішні. За замовчуванням ніяке час очікування для запитів DNS не встановлюється, крім значень, певних системними бібліотеками.

--connect-timeout \u003d seconds
Встановлює час очікування з'єднання в seconds секунд. TCP з'єднання, що вимагають більшого часу на установку, будуть скасовані. За замовчуванням ніяке час очікування з'єднання не встановлюється, крім значень, певних системними бібліотеками.

--read-timeout \u003d seconds
Встановлює час очікування читання (і записи) в seconds секунд. Читання, що вимагає більшого часу, буде неуспішним. Значення за замовчуванням дорівнює 900 секунд.

--limit-rate \u003d amount
Встановлює обмеження швидкості скачування в amount байт в секунду. Значення може бути виражено в байтах, кілобайтах з суфіксом k або мегабайтах з суфіксом m. Наприклад, --limit-rate \u003d 20k встановить обмеження швидкості скачування в 20KB / s. Таке обмеження корисно, якщо з якої-небудь причини ви не хочете, щоб Wget НЕ утилізувати всю доступну смугу пропускання. Wget реалізує обмеження через sleep на необхідний час після мережевого читання, яке зайняло менше часу, ніж вказане в обмеженні. У підсумку така стратегія призводить до уповільнення швидкості TCP передачі приблизно до зазначеного обмеження. Однак, для встановлення балансу потрібен певний час, тому не дивуйтеся, якщо обмеження буде погано працювати для невеликих файлів.

-w seconds
--wait \u003d seconds
Чекати вказану кількість seconds секунд між завантаженнями. Використання цієї функції рекомендується для зниження навантаження на сервер зменшенням частоти запитів. Замість секунд час може бути зазначено в хвилинах з суфіксом m, в годиннику з суфіксом h або днями з суфіксом d.
Вказівка \u200b\u200bвеликого значення корисно, якщо мережа або хост призначення недоступні, так щоб Wget чекав достатній час для виправлення неполадок мережі до наступної спроби.

--waitretry \u003d seconds
Якщо ви не хочете, щоб Wget чекав між різними завантаженнями, а тільки між спробами для зірваних закачувань, можна використовувати цей ключ. Wget буде лінійно нарощувати паузу, чекаючи 1 секунду після першого збою для даного файлу, 2 секунди після другого збою і так далі до максимального значення seconds. Таким чином, значення 10 змусить Wget чекати до (1 + 2 + ... + 10) \u003d 55 секунд на файл. Цей ключ включений за замовчуванням в глобальному файлі wgetrc.

--random-wait
Деякі веб-сайти можуть аналізувати логи для ідентифікації качалок, таких як Wget, вивчаючи статистичні схожості в паузах між запитами. Даний ключ встановлює випадкові паузи в діапазоні від 0 до 2 * wait секунд, де значення wait вказується ключем --wait. Це дозволяє виключити Wget з такого аналізу. В недавній статті на тему розробки популярних призначених для користувача платформ був представлений код, що дозволяє проводити такий аналіз на льоту. Автор пропонував блокування підмереж класу C для блокування програм автоматичного скачування, незважаючи на можливу зміну адреси, призначеного DHCP. На створення ключа --random-wait спонукала ця хвора рекомендація блокувати безліч невинних користувачів з вини одного.

-Y on / off
--proxy \u003d on / off
Вмикає або вимикає підтримку проксі. Якщо відповідна змінна оточення встановлена, то підтримка проксі включена за замовчуванням.

-Q quota
--quota \u003d quota
Встановлює квоту для автоматичних завантажень. Значення вказується в байтах (за замовчуванням), кілобайтах (з суфіксом k) або мегабайтах (з суфіксом m). Квота не впливає на скачування одного файла..gz, файл ls-lR.gz буде викачаний цілком. Те ж відбувається при вказівці декількох URL в командному рядку. Квота має значення при рекурсивном скачуванні або при вказівці адрес у вхідному файлі. Т.ч. можна спокійно вказати wget -Q2m -i sites - закачування буде перервана при досягненні квоти. Установка значень 0 або inf скасовує обмеження.

Dns-cache \u003d off
Відключає кешування запитів DNS. Зазвичай Wget запам'ятовує адреси, запитані в DNS, так що не доводиться постійно запитувати DNS сервер про одне й те ж (зазвичай невеликому) наборі адрес. Цей кеш існує тільки в пам'яті. Новий процес Wget буде запитувати DNS знову. Однак, в деяких випадках кешування адрес не бажано навіть на короткий період запуску такого додатка як Wget. Наприклад, секоторие сервери HTTP мають динамічно виділяються адреси IP, які змінюються час від часу. Їх записи DNS оновлюються при кожній зміні. Якщо закачка Wget з такого хоста переривається через зміну адреси IP, Wget повторює спробу скачування, але (через кешування DNS) намагається з'єднатися за старою адресою. При відключеному кешування DNS Wget буде виробляти DNS-запити при кожному з'єднанні і, таким чином, отримувати щоразу правильний динамічний адресу. Якщо вам не зрозуміло наведене вище опис, даний ключ вам, швидше за все, не знадобиться.

--restrict-file-names \u003d mode
Встановлює, які набори символів можуть використовуватися при створенні локального імені файлу з адреси віддаленого URL. Символи, заборонені за допомогою цього ключа, екрануються, тобто замінюються на% HH, де HH - шістнадцятковий код відповідного символу. За замовчуванням Wget екранує букви, що Богута бути частиною імені файлу у вашій операційній системі, а також керуючі символи, як правило недруковані. Цей ключ корисний для зміни умовчання, якщо ви зберігаєте файл на нерідній розділі або хочете скасувати екранування керуючих символів. Коли mode встановлений в "unix", Wget екранує символ / і керуючі символи в діапазонах 0-31 і 128-159. Це замовчування для Ос типу Unix. Коли mode встановлений в "windows", Wget екранує символи \\, |, /,:,?, ", *, І керуючі символи в діапазонах 0-31 і 128-159. Додатково Wget в Windows режимі використовує + замість: для поділу хоста і порту в локальних іменах файлів і @ замість? для відділення запросной частини імені файлу від решти. Таким чином, адреса URL, що зберігається в Unix режимі як www..pl? input \u003d blah, в режимі Windows буде збережено як [Email protected]\u003d Blah. Цей режим використовується за умовчанням в Windows. Якщо до mode додати, nocontrol, наприклад, unix, nocontrol, екранування керуючих символів відключається. Можна використовувати --restrict-file-names \u003d nocontrol для відключення екранування керуючих символів без впливу на вибір ОС-залежного режиму екранування службових символів.

ключі каталогів

-nd
--no-directories
Не створювати структуру каталогів при рекурсивном скачуванні. З цим ключем всі файли зберігаються в поточний каталог без затирання (якщо ім'я зустрічається більше одного разу, імена отримають суффікс.n).

-x
--force-directories
Зворотне -nd - створює структуру каталогів, навіть якщо вона не створювалася б в іншому случае..txt збереже файл в сайт / robots.txt.

-nH
--no-host-directories
Відключає створення хост-каталога..ru /. Даний ключ скасовує таку поведінку.

--protocol-directories
Використовувати назву протоколу як компонент каталогу для локальний файлів. Наприклад, з цим ключем wget -r http: // host збереже в http / host / ... замість host / ....

--cut-dirs \u003d number
Ігнорувати number рівнів вкладеності каталогів. Це корисний ключ для чіткого управління каталогом для збереження рекурсивно завантаженого вмісту .. При скачуванні з -r локальна копія буде збережена в ftp .. Якщо ключ -nH може прибрати ftp .. Тут на допомогу приходить --cut-dirs; він змушує Wget закривати очі на number віддалених підкаталогів. Нижче наведено кілька робочих прикладів --cut-dirs.

No options -\u003e ftp. -nH -\u003e pub / xxx / -nH --cut-dirs \u003d 1 -\u003e xxx / -nH --cut-dirs \u003d 2 -\u003e. --cut-dirs \u003d 1 -\u003e ftp.сайт / xxx /

Якщо вам потрібно лише позбутися структури каталогів, то цей ключ може бути замінений комбінацією -nd і -P. Однак, на відміну від -nd, --cut-dirs не втрачає підкаталоги - наприклад, з -nH --cut-dirs \u003d 1, підкаталог beta / буде збережений як xxx / beta, як і очікується.

-P prefix
--directory-prefix \u003d prefix
Встановлює кореневої каталог в prefix. Кореневої каталог - це каталог, куди будуть збережені всі файли і підкаталоги, тобто вершина викачуваного дерева. За замовчуванням. (Поточний каталог).

ключі HTTP

-E
--html-extension
Даний ключ додає до імені локального файлу расшіреніе.html, якщо скачуваний URL має тип application / xhtml + xml або text / html, а його закінчення не відповідає регулярному виразу \\.?. Це корисно, наприклад, при створення дзеркал сайтів, іспользующіх.asp сторінки, коли ви хочете, щоб дзеркало працювало на звичайному сервері Apache. Також корисно при скачуванні динамічно-що генерується вмісту. URL типу http://site.com/article.cgi?25 буде збережений як article.cgi? 25.html. Зберігаються таким чином сторінки будуть скачиваться і перезаписуватися при кожному наступному створення дзеркал, тому що Wget не може зіставити локальний файл X.html віддаленого адресою URL X (він ще не знає, що URL повертає відповідь типу text / html або application / xhtml + xml). Для запобігання перезакачіванія використовуйте ключі -k і -K, так щоб оригінальна версія зберігалася як X.orig.

--http-user \u003d user
--http-passwd \u003d password
Вказує ім'я користувача user і пароль password для доступу до HTTP сервера. Залежно від типу запиту Wget закодує їх, використовуючи звичайну (незахищену) або дайджест схему авторизації. Інший спосіб вказівки імені користувача і пароля - в самому URL. Будь-який з способів розкриває ваш пароль кожному, хто запустить ps. Щоб уникнути розкриття паролів, зберігайте їх в файлах.wgetrc ілі.netrc і переконайтеся в недоступності цих файлів для читання іншими користувачами за допомогою chmod. Особливо важливі паролі не рекомендується зберігати навіть в цих файлах. Вписуйте паролі в файли, а потім видаляйте відразу після запуску Wget.

--no-cache
Відключає кешування на стороні сервера. У цій ситуації Wget посилає віддаленого сервера відповідну директиву (Pragma: no-cache) для отримання оновленої, а не кешироваться версії файлу. Це особливо корисно для стирання застарілих документів на проксі серверах. Кешування дозволено за умовчанням.

--no-cookies
Відключає використання cookies. Cookies є механізмом підтримки стану сервера. Сервер посилає клієнту cookie за допомогою заголовка Set-Cookie, клієнт включає цю cookie в усі наступні запити. Оскільки cookies дозволяють власникам серверів відстежувати відвідувачів і обмінюватися цією інформацією між сайтами, деякі вважають їх порушенням конфіденційності. За замовчуванням cookies використовуються; проте збереження cookies за замовчуванням не проводиться.

--load-cookies file
Завантаження cookies з файлу file до першого запиту HTTP. file - текстовий файл у форматі, спочатку використовувався для файлу cookies.txt Netscape. Зазвичай ця опція потрібна для віддзеркалення сайтів, які потребують авторизації для частини або всього вмісту. Авторизація зазвичай проводиться з видачею сервером HTTP cookie після отримання та перевірки реєстраційної інформації. Надалі cookie надсилається оглядачем при перегляді цієї частини сайту і забезпечує ідентифікацію. Віддзеркалення такого сайту вимагає від Wget подачі таких же cookies, що і оглядач. Це досягається через --load-cookies - просто вкажіть Wget розташування вашого cookies.txt, і він відправить ідентичні оглядачеві cookies. Різні оглядачі зберігають файли cookie в різних місцях: Netscape 4.x. ~ / .Netscape / cookies.txt. Mozilla and Netscape 6.x. Файл cookie в Mozilla теж називається cookies.txt, розташовується десь всередині ~ / .mozilla в директорії вашого профілю. Повний шлях зазвичай виглядає як ~ / .mozilla / default / some-weird-string / cookies.txt. Internet Explorer. Файл cookie для Wget може бути отриманий через меню File, Import and Export, Export Cookies. Протестовано на Internet Explorer 5; робота з більш ранніми версіями не гарантовано. Other browsers. Якщо ви використовуєте інший оглядач, --load-cookies буде працювати тільки в тому випадку, якщо формат файлу буде відповідати формату Netscape, тобто то, що очікує Wget. Якщо ви не можете використовувати --load-cookies, може бути інша альтернатива. Якщо оглядач має "cookie manager", то ви можете переглянути cookies, необхідні для віддзеркалення. Запишіть ім'я і значення cookie, і вручну вкажіть їх Wget в обхід "офіційної" підтримки:

Wget --cookies \u003d off --header "Cookie: name \u003d value"

--save-cookies file
Збереження cookies в file перед виходом. Ця опція не зберігає минулі cookies і cookies без певного часу закінчення (так звані "сесійні cookies"). Див. Також --keep-session-cookies.

--keep-session-cookies
При вказівці --save-cookies зберігає сесійні cookies. Зазвичай сесійні cookies не зберігаються, тому що мається на увазі, що вони будуть забуті після закриття оглядача. Їх збереження корисно для сайтів, які потребують авторизації для доступу до сторінок. При використанні цієї опції різні процеси Wget для сайту будуть виглядати як один оглядач. Оскільки зазвичай формат файлу cookie file не містить сесійних cookies, Wget відзначає їх тимчасовою оцінкою закінчення 0. --load-cookies сприймає їх як сесійні cookies, але це може викликати проблеми у інших оглядачів Завантажені таким чином cookies інтерпретуються як сесійні cookies, тобто для їх збереження з --save-cookies необхідно знову вказувати --keep-session-cookies.

--ignore-length
На жаль, деякі сервери HTTP (CGI програми, якщо точніше) посилають некоректний заголовок Content-Length, що зводить Wget з розуму, тому що він думає, що документ був викачаний в повному обсязі. Цей синдром можна помітити, якщо Wget знову і знову намагається завантажити один і той же документ, кожен раз вказуючи обрив зв'язку на тому ж байті. З цим ключем Wget ігнорує заголовок Content-Length, як ніби його ніколи не було.

--header \u003d additional-header
Вкажіть додатковий заголовок additional-header для передачі HTTP сервера. Заголовки повинні містити ":" після одного або більше непустих символів і неповинні містити перекладу рядка. Ви можете вказати кілька додаткових заголовків, використовуючи ключ --header багаторазово.

Wget --header \u003d "Accept-Charset: iso-8859-2" --header \u003d "Accept-Language: hr" http://aaa.hr/

Вказівка \u200b\u200bв якості заголовка порожній рядки очищає все раніше зазначені призначені для користувача заголовки.

--proxy-user \u003d user
--proxy-passwd \u003d password
Вказує ім'я користувача user і пароль password для авторизації на проксі сервері. Wget кодує їх, використовую базову схему авторизації. Тут діють ті ж міркування безпеки, що і для ключа --http-passwd.

--referer \u003d url
Включає в запит заголовок `Referer: url". Корисний, якщо при видачі документа сервер вважає, що спілкується з інтерактивним оглядачем, і перевіряє, щоб поле Referer містило сторінку, яка вказує на запитуваний документ.

--save-headers
Зберігає заголовки відповіді HTTP в файл безпосередньо перед вмістом, як роздільник використовується порожній рядок.

-U agent-string
--user-agent \u003d agent-string
Ідентифікується як оглядач agent-string для сервера HTTP. HTTP протокол допускає ідентифікацію клієнтів, використовуючи поле заголовка User-Agent. Це дозволяє розрізняти програмне забезпечення, зазвичай для статистики або відстеження порушень протоколу. Wget зазвичай ідентифікується як Wget / version, де version - поточна версія Wget. Однак, деякі сайти проводять політику адаптації виведення для оглядача на підставі поля User-Agent. В принципі це не погана ідея, але деякі сервери відмовляють у доступі клієнтам крім Mozilla і Microsoft Internet Explorer. Цей ключ дозволяє змінити значення User-Agent, що видається Wget. Використання цього ключа не рекомендується, якщо ви не впевнені в тому, що ви робите.

--post-data \u003d string
--post-file \u003d file
Використовує метод POST для всіх запитів HTTP і надсилає відповідні дані в запиті. --post-data відправляє в якості даних рядок string, а --post-file - вміст файлу file. В іншому вони працюють однаково. Будь ласка, майте на увазі, що Wget повинен спочатку знати довжину запиту POST. Аргументом ключа --post-file повинен бути звичайний файл; вказівка \u200b\u200bFIFO в вигляді / dev / stdin працювати не буде. Не зовсім зрозуміло, як можна обійти це обмеження в HTTP / 1.0. Хоча HTTP / 1.1 вводить порційну передачу, для якої не потрібно початкове знання довжини, клієнт не може її використовувати, якщо не впевнений, що спілкується з HTTP / 1.1 сервером. А він не може цього знати, поки не отримає відповідь, який, в свою чергу, приходить на повноцінний запит. Проблема яйця і курки. Note: якщо Wget отримує перенаправлення у відповідь на запит POST, він не відправить дані POST на URL перенаправлення. Часто URL адреси, обробні POST, видають перенаправлення на звичайну сторінку (хоча технічно це заборонено), яка не хоче приймати POST. Поки не ясно, чи є така поведінка оптимальним; якщо це не буде працювати, то буде змінено. Приклад нижче демонструє, як авторизуватися на сервері, використовуючи POST, і потім завантажити бажані сторінки, доступні тільки для авторизованих користувачів:

Wget --save-cookies cookies..php wget --load-cookies cookies.txt -p http://server.com/interesting/article.php

конфігурація WGET

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

User-agent \u003d "Mozilla / 5.0" tries \u003d 5 кількість спроб завантажити wait \u003d 0 не робити паузи continue \u003d on потрібно докачувати dir_prefix \u003d ~ / Downloads / куди складати скачаний use_proxy \u003d on - чудова ідея http_proxy - характеристики вашого проксі-сервера.

  • Задати змінну оточення WGETRC, вказавши в ній повний шлях до файлу.
  • Задати змінну HOME, в якій вказати шлях до домашньої папці користувача (c: \\ Documents and settings \\ jonh). Тоді wget буде шукати файл "wgetrc" в цій папці.
  • Крім цього можна створити файл wget.ini в тій же папці, де знаходиться wget.exe, і задати там додаткові параметри командного рядка wget.

Корисну інформацію по WGET можна почерпнути тут:

  • PhantomJS - Використовуйте, якщо вам потрібно завантажити сайт, частина даних на якому завантажується за допомогою JavaScript

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»: »1985"' 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/ використання збережених кукисов

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

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 продовжить завантажувати файл саме з того місця, де обірвалося завантаження.

Файли конфігурації:

/ Usr / local / etc / wgetrc - Розташування файлу налаштувань за замовчуванням.
.wgetrc - Файл налаштувань користувача конкретного користувача (розташований не інначе як в папці користувача).

синтаксис:

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

параметри:

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

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

  • -o logfile (--output-file \u003d logfile) -Записувати всі повідомлення в logfile. Інакше вони будуть спрямовані в stderr.
  • -a logfile (--append-output \u003d logfile) -доповнити logfile. Як і -o, тільки logfile не замінює, а доповнюється. якщо logfile не існує, створюється новий файл.
  • -d (--debug) - Відображати повідомлення налагодження - різна інформація, важлива для розробників Wget.
  • -q (--quiet) - Вимкнути повідомлення Wget.
  • -v (--verbose) - Включити докладні повідомлення, з усіма доступними даними. За замовчуванням включено.
  • -nv (--non-verbose) - Ісопльзовать скорочені повідомлення (щоб вимкнути повідомлення, див. -q). Повідомлення про помилки та основна інформація будуть відображатися.
  • -i file (--input-file \u003d file) -Вважати URL з file. В цьому випадку вказувати URL в командному рядку не потрібно. Якщо URL вказані і в командному рядку і в file, То спочатку будуть завантажені URL з командного рядка. file не обов'язково повинен мати формат HTML (але нічого страшного, якщо це так) - URL просто повинні бути вказані в ньому. (Якщо ви вкажете --force-html, то файл буде прочитаний як html. У цьому випадку можуть виникнути проблеми з відносними посиланнями. Це можна запобігти додаванням в нього " "Або введенням в командному рядку --base \u003d url.)
  • -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 \u003d number) -Встановлює число повторів number. Вкажіть 0 або inf для скасування повторів.
  • -O file(--Output-document \u003d file) -Документи не будуть записуватися у відповідні файли, а будуть об'єднані разом і записані в файл 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) - Відновлення завантаження файлу. Використовується, якщо завантаження файлу була перервана. наприклад:

Якщо в цій папці вже є файл з ім'ям 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 \u003d type -Індикатор прогресу завантаження і його тип. Можливі значення: `` 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 \u003d seconds) -Час очікування в секундах. За замовчуванням час очікування одно 900 с (15 хв). Установка значення в 0 скасовує перевірку часу очікування. Будь ласка, не знижуйте значення часу очікування, якщо Ви точно не знаєте, що саме робите.
  • -w seconds (--wait \u003d seconds) -Пауза в секундах між декількома завантаженнями (в т.ч. повторами). Це знижує завантаженість сервера. Щоб вказати значення в хвилинах, використовуйте "m", в годиннику - "h", в днях - "d" після числа. Вказівка \u200b\u200bвеликого значення цього параметру може бути корисним, якщо мережа нестабільна (наприклад при обривах модемного зв'язку).
  • --waitretry \u003d seconds -Встановлює паузу тільки між повторами обірвалися завантажень. 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 \u003d quota) -Квота на розмір файлів. Вказується в байтах (за замовчуванням), в кілобайтах Кб (якщо в кінці k) або в мегабайтах Мб (якщо в кінці m).

При вичерпанні квоти поточний файл завантажується до кінця, тобто квота не працює при завантаженні одного файла..gz, то файл ls-lR.gz буде повністю завантажений. Також всі зазначені в командному рядку файли будуть обов'язково завантажені, на відміну від списку файлів в одному файлі або як при рекурсивної завантаженні.

Вказівка \u200b\u200b0 або inf скасує квоту.

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

  • -nd (--no-directories) - Не створювати структуру папок при рекурсивної завантаженні. При зазначеному параметрі, всі файли будуть завантажуватися в одну папку. Якщо файл з такою назвою вже існує, то він буде збережений під ім'ям ІмяФайла.n.
  • -x (--force-directories) - Протилежно параметру -nd - створювати структуру папок, починаючи з головної сторінки сервера..txt призведе до завантаження файлу в папку fly.srk.fer.hr.
  • -nH (--no-host-directories) - Не створювати порожні папки на початку структури. За замовчуванням / pub / xemacs /. Якщо ви завантажили її з параметром -r, то вона збережеться під ім'ям ftp.. З параметром -nH з імені початкової папки виріже ftp.сайт /, І вона буде називатися pub / xemacs. А параметр --cut-dirs прибере number компонентів.

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

  • -P prefix (--directory-prefix \u003d prefix) -визначає початкову папку, В якій буде збережена структура папок сайту (або просто файли). За замовчуванням цей параметр дорівнює. (Поточна папка).

параметри HTTP

  • -E (--html-extension) - Якщо тип завантаженого файлу text / html і його адреса не закінчується на \\.?, При використанні даного параметра до його імені буде добавлено.html. Це може бути корисно при дзеркальному зберіганні страніц.asp, якщо ви не хочете, щоб вони втручалися в роботу вашого сервера Apache. Інший випадок застосування цього парамеров - це завантаження сторінок-відповідей CGI скріптов..cgi? 25 буде збережена, як article.cgi? 25.html. (При оновленні або інший перезавантаження сторінок з даними параметром останні будуть завантажуватися заново в будь-якому випадку, тому що Wget не може дізнатися, чи має відношення локальний файл X.html до завантажуваного з URL X. Щоб уникнути зайвої перезавантаження, використовуйте опції -k і -K. При цьому оригінальні версії файлів будуть також збережені як X.orig.)
  • --http-user \u003d user (--http-passwd \u003d password) -Ім'я користувача 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 в різних папках:

Параметр --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 \u003d additional-header -визначає additional-header, Що відправляється сервера HTTP. Він повинен містити: і символи після нього. Ви можете визначити кілька додаткових заголовків через використання --header кілька разів.

wget --header \u003d "Accept-Charset: iso-8859-2" --header \u003d "Accept-Language: hr" http: // сайт / Вказівка \u200b\u200bпорожнього рядка в значенні заголовка очистить все певні користувачем до цього заголовки.

  • --proxy-user \u003d userі --proxy-passwd \u003d password -Визначає ім'я користувача user і пароль password для авторизації сервері проксі. Буде використаний тип авторизації "basic".
  • --referer \u003d url -Додає заголовок `Referer: url"В запит HTTP. Використовується при завантаженні сторінок, які передаються правильно тільки якщо сервер знає, з якої сторінки ви прийшли.
  • -s (--save-headers) - Зберігати заголовки, що відправляються серверів HTTP.
  • -U agent-string (--user-agent \u003d agent-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: //сайт/*.msg

За замовчуванням використання символів маски дозволено, якщо URL містить такі символи. Ви можете також взяти URL в лапки. Це спрацює тільки на серверах Unix FTP (і емулює вихід Unix "ls").

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

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

  • -r (--recursive) - Включити рекурсивне отримання.
  • -l depth (--level \u003d depth) -Максимальна глибина рекурсивної завантаження depth. За замовчуванням її значення дорівнює 5.
  • --delete-after - Видаляти кожну сторінку (локально) після її завантаження. Використовується для збереження нових версій часто запитуваних сторінок на проксі. наприклад:

wget -r -nd --delete-after http: // сайт / ~ popular / page /

Параметр -r включає завантаження за замовчуванням, параметр -nd відключає створення папок. При зазначеному параметрі --delete-after буде ігноруватися параметр --convert-links.

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

Наприклад: якщо долучення /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 не розрізняє зовнішні та внутрішні документи, то немає гарантії, що завантажиться все необхідне.

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

  • -A acclist (--accept acclist) -Список імен файлів, розділених комами, які слід завантажувати. Дозволяється завдання імен файлів по масці.
  • -R rejlist (--reject rejlist) -Список імен файлів, розділених комами, які не слід завантажувати. Дозволяється завдання імен файлів по масці.
  • -D domain-list (--domains \u003d domain-list) -список доменів domain-list, З яких дозволено завантажувати файли. Розділяється комами. цей параметр нЕ включає -H.
  • --exclude-domains domain-list -Список доменів, з яких нЕ дозволено завантажувати файли
  • --follow-ftp - Слідувати по посиланнях FTP з HTML сторінок. Інакше, посилання на файли по протоколу FTP ігноруються.
  • --follow-tags \u003d list -Wget має вбудовану таблицю тегів HTML, в яких він шукає посилання на інші файли. Ви можете вказати додаткові теги в розділеному комами списку list в цьому параметрі.
  • -G list (--ignore-tags \u003d list) -Назад --follow-tags. Для пропуску тегів HTML при рекурсивної завантаженні, вкажіть їх в розділеному комами списку list.
  • -H (--span-hosts) - Дозволяє відвідувати будь-які сервера, на які є посилання.
  • -L (--relative) - Слідувати тільки за відносними посиланнями. При цьому параметрі файли з інших серверів точно не будуть завантажуватися.
  • -I list (--include-directories \u003d list) -Список папок, розділених комами, з яких дозволено завантажувати файли. елементи списку list
  • -X list (--exclude-directories \u003d list) -Список папок, розділених комами, що виключаються для завантаження (див. Обмеження по папках). елементи списку list можуть містити символи масок.
  • -np (--no-parent) - Чи не підніматися вище початкової адреси при рекурсивної завантаженні.

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

  • Завантажити URL:

wget http: // сайт /

  • Завантажити файл збільшивши кількість спроб до 60 спроби установки нового з'єднання (за замовчуванням 20):

wget --tries \u003d 60 http: //сайт/jpg/flyweb.jpg

  • Запустити Wget в фоновому режимі, і зберігати повідомлення в журнал log. (Символ амперсанда в кінці вказує командному інтерпретатору продовжувати роботу, не чекаючи завершення роботи Wget. Щоб програма робила повтори нескінченно - використовуйте -t inf.)

wget -t 45 -o log http: //сайт/jpg/flyweb.jpg &

  • Завантажити файл по FTP:
  • Якщо вказати адресу папки, то Wget завантажить лістинг цієї папки (тобто файли і підкаталоги, що містяться в ній) і конвертує його в формат HTML. наприклад:

wget ftp: // сайт / pub / gnu / links index.html

  • Якщо у Вас є файл з URL, які ви хочете завантажити, то використовуйте параметр -i (якщо ви вкажете - замість імені файлу, то URL будуть читатися зі стандартного вводу (stdin)):

wget -i I

  • Створити пятиуровневую копію сайту 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:

[Email protected]/.emacs"\u003eftp://hniksic: [Email protected]/.emacs

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

wget -O - http://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



Сподобалася стаття? поділіться їй