How to download your website using wget for windows
Содержание:
- Постобработка архива
- Использование wget Linux
- Параметры HTTP
- Онлайн-сервисы
- Примеры команд wget
- ‘—random-wait’
- Запуск загрузки
- Как использовать wget для загрузки веб-ресурсов
- Как это работает?
- Wget — консольный загрузчик для скачивания сайтов и его использование в Windows
- Профессиональное использование
- Install WGET in Windows 10
- НАЙДЕННЫЕ ОШИБКИ
- Wget — консольный загрузчик для скачивания сайтов и его использование в Windows
Постобработка архива
К сожалению, ни одна автоматизированная система не является идеальной, особенно если ваша цель – загрузить весь сайт. Вы можете столкнуться с некоторыми небольшими проблемами. Откройте заархивированную версию страницы и сравните ее рядом с живой. Там не должно быть существенных различий. Я удовлетворен, если весь текстовый контент там с изображениями. Гораздо меньше волнует, работают ли динамические части или нет. Здесь я рассматриваю наихудший сценарий, когда изображения отсутствуют.
Современные сайты используют атрибут и тег для загрузки адаптивных изображений. Хотя wget постоянно совершенствуется, его возможности отстают от передовых технологий современного Интернета. Хотя в wget версии 1.18 добавлена поддержка, ей не нравится более экзотическая комбинация тегов. Это приводит к тому, что wget только находит запасное изображение в теге img, а не в любом из исходных тегов. Он не загружает их и не затрагивает их URL. Обходной путь для этого состоит в массовом поиске и замене (удалении) этих тегов, поэтому резервное изображение все еще может появиться.
- Получить последнюю версию grepWin – я рекомендую портативную версию.
- Добавить папку архива в Поиск в
- Выберите Regex search и Search для:
- Добавить в имена файлов совпадают:
- Нажмите « Заменить» (вы можете проверить, что он что-то находит с помощью функции « Поиск» )
Вы можете использовать grepWin как, чтобы исправить другие повторяющиеся проблемы . Одна статья не может подготовить вас ко всему и не научит вас регулярным выражениям (подсказка: в них нет ничего регулярного ). Таким образом, этот раздел просто дает вам представление о корректировке результатов. Подход Windows не подходит для расширенной пост-обработки. В Unix-подобных системах есть более удобные инструменты для массовой обработки текста, такие как sed и оригинальный grep .
Использование wget Linux
Команда wget linux, обычно поставляется по умолчанию в большинстве дистрибутивов, но если нет, ее можно очень просто установить. Например установка с помощью yum будет выглядеть следующим образом:
А в дистрибутивах основанных на Debian:
Теперь перейдем непосредственно к примерам:
1. Загрузка файла
Команда wget linux скачает один файл и сохранит его в текущей директории. Во время загрузки мы увидим прогресс, размер файла, дату его последнего изменения, а также скорость загрузки:

Опция -О позволяет задать имя сохраняемому файлу, например, скачать файл wget с именем wget.zip:

Вы можете скачать несколько файлов одной командой даже по разным протоколам, просто указав их URL:

4. Взять URL из файла
Вы можете сохранить несколько URL в файл, а затем загрузить их все, передав файл опции -i. Например создадим файл tmp.txt, со ссылками для загрузки wget, а затем скачаем его:

5. Продолжить загрузку
Утилита wget linux рассчитана на работу в медленных и нестабильных сетях. Поэтому если вы загружали большой файл, и во время загрузки было потеряно соединение, то вы можете скачать файл wget с помощью опции -c.

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

7. Ограничение скорости загрузки
Команда wget linux позволяет не только продолжать загрузку файлов, но и ограничивать скорость загрузки. Для этого есть опция —limit-rate. Например ограничим скорость до 100 килобит:

Здесь доступны, как и в других подобных командах индексы для указания скорости — k — килобит, m — мегабит, g — гигабит, и так далее.
8. Подключение по логину и паролю
Некоторые ресурсы требуют аутентификации, для загрузки их файлов. С помощью опций —http-user=username, –http-password=password и —ftp-user=username, —ftp-password=password вы можете задать имя пользователя и пароль для HTTP или FTP ресурсов.
Или:
9. Загрузить и выполнить
Вы, наверное, уже видели такие команды. wget позволяет сразу же выполнять скачанные скрипты:
Если опции -O не передать аргументов, то скачанный файл будет выведен в стандартный вывод, затем мы его можем перенаправить с интерпретатор bash, как показано выше.
По умолчанию wget сохраняет файл в текущую папку, но это поведение очень легко изменить с помощью опции -P:

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

12. Количество попыток загрузки
По умолчанию wget пытается повторить загрузку 20 раз, перед тем как завершить работу с ошибкой. Количество раз можно изменить с помощью опции —tries:
13. Квота загрузки
Если вам доступно только ограниченное количество трафика, вы можете указать утилите, какое количество информации можно скачивать, например разрешим скачать файлов из списка только на десять мегабайт:
Здесь работают те же индексы для указания размера — k, m, g, и т д.
14. Скачать сайт
Wget позволяет не только скачивать одиночные файлы, но и целые сайты, чтобы вы могли их потом просматривать в офлайне. Использование wget, чтобы скачать сайт в linux выглядит вот так:
Параметры 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=user
- —http-passwd=password
- Имя пользователя user и пароль password для сервера HTTP. В зависимости от типа отклика, Wget будет использовать "basic" (небезопасную) или "digest" (защищенную) авторизацию.
Можно также указывать имя пользователя и пароль и в самом URL.
- -C on/off
- —cache=on/off
- Включает или выключает кеширование со стороны сервера. При этом Wget посылает соответствующих запрос (Pragma: no-cache). Также используется для быстрого обновления файлов на прокси-сервере.
По умолчанию кеширование разрешено.
- —cookies=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=off --header "Cookie: I=I"
-
- —save-cookies file
- Сохранить cookie из file в конце сессии. Устаревшие cookie не сохраняются.
- —ignore-length
- Некоторые серверы HTTP (точнее, скрипты CGI) отправляют заголовки "Content-Length", которые указывают Wget, что загружено еще не все. И Wget загружает один документ несколько раз.
С этим параметром, Wget будет игнорировать заголовки "Content-Length".
- —header=additional-header
- Определяет additional-header, отправляемый серверу HTTP. Он должен содержать и символы после него.
Вы можете определить несколько дополнительных заголовков через использование —header несколько раз.
wget --header='Accept-Charset: iso-8859-2' --header='Accept-Language: hr' http://fly.srk.fer.hr/
Указание пустой строки в значении заголовка очистит все определенные пользователем до этого заголовки.
- —proxy-user=user
- —proxy-passwd=password
- Определяет имя пользователя user и пароль password для авторизации сервере прокси. Будет использован тип авторизации "basic".
- —referer=url
- Добавляет заголовок `Referer: url‘ в запрос HTTP. Используется при загрузке страниц, которые передаются правильно только если сервер знает, с какой страницы вы пришли.
- -s
- —save-headers
- Сохранять заголовки, отправляемые серверам HTTP.
- -U agent-string
- —user-agent=agent-string
- Идентифицироваться, как agent-string при запросе на HTTP сервер.
Протокол HTTP позволяет определять себя использованием заголовка агента. Wget по умолчанию идентифицируется, как Wget/version, где version — это версия Wget.
Некоторые серверы выдают требуемую информацию только для обозревателей, идентифицирующихся как "Mozilla" или Microsoft "Internet Explorer". Этот параметр позволяет обмануть такие серверы.
Онлайн-сервисы
Как несложно догадаться из названия – это специальные сайты, с помощью которых можно скачать другие сайты из интернета
Преимущество данного подхода в том, что не нужно устанавливать дополнительных программ, и, соответственно, не важно какая операционная система установлена. Вроде бы всё классно – вставил имя сайта, нажал скачать, и получаешь готовый архив
Но на деле всё оказалось не настолько радужным.
Недостаток сервисов в том, что их мало, а те что есть, работают так себе, либо просят денег. Лично у меня ни разу не получалось скачать даже одностраничный сайт. Сервисы показывали процесс загрузки и зависали. Но тем не менее, список прилагаю:
- WebSiteDownloader — позволяет, якобы, выгрузить сайт в архиве, англоязычный
- R-Tools — платный с тарифной сеткой. На момент написания работал плохо, https не поддерживается, скаченный сайт открылся криво. Проект развивается, есть демо на 25 страниц.
В общем у меня сложилось впечатление, что эти сервисы либо глючат, либо грузят не совсем то, что хотелось бы, либо годятся только для маленьких сайтиков.
Примеры команд wget
Как скачать файл и сохранить с другим названием
Параметр устанавливает имя выходного файла. Если файл называется , и вы хотите сохранить его непосредственно в , вы должны использовать такую команду:
Как установить скорость загрузки
Вы можете установить скорость загрузки при скачивании большого файла, чтобы он не использовал всю доступную пропускную способность. Скорость загрузки определяется в килобайтах (k) и мегабайтах (m). Используйте команду:
Как продолжить загрузку после прерывания
Вместо того, чтобы начинать с нуля, wget может возобновить загрузку с того места, где она была остановлена до прерывания. Это полезная функция, если при загрузке файла происходит потеря соединения.
Как скачать несколько файлов
- Сначала создайте и откройте файл с именем MultipleDownloads.txt (или другим именем по вашему выбору) с помощью текстового редактора.:
- В редакторе добавьте URL-адреса, которые вы хотите загрузить, по одному в каждой строке.
- Сохраните и выйдите из файла.
- Выполните следующую команду wget в окне терминала:
Как загрузить зеркало веб-страницы
С помощью wget вы можете загрузить весь веб-сайт из Интернета, используя параметр . Он предлагает wget создать зеркало указанной веб-страницы. Основная команда для этого:
Как увеличить число попыток повтора
По умолчанию количество повторных попыток установлено на 20.
Вы также можете установить число на бесконечность со значениями 0 или inf, как в следующем примере:
Как пропустить проверку сертификата
По умолчанию wget проверяет, есть ли у сервера действительный сертификат SSL / TLS. Если он не идентифицирует подлинный сертификат, он отказывается от загрузки.
Параметр используется, чтобы отменить проверку сертификата. Однако используйте его только в том случае, если вы уверены в надежности веб-сайта или не беспокоитесь о проблемах безопасности, которые он может вызвать.
Как изменить User Agent
При загрузке веб-страницы wget по сути эмулирует браузер. В некоторых случаях в выводе может быть указано, что у вас нет разрешения на доступ к серверу или что соединение запрещено. Это может быть связано с тем, что веб-сайт блокирует клиентские браузеры с определенным «User-Agent».
«User-Agent» — это поле заголовка, которое браузер отправляет на сервер, к которому он хочет получить доступ. Поэтому для загрузки с сервера, который отказывается подключаться, попробуйте его изменить.
Найдите базу данных всех пользовательских агентов в сети, найдите тот, который вам нужен, и выполните команду:
‘—random-wait’
Some web sites may perform log analysis to identify retrieval programs such as Wget by looking for statistically significant similarities in the time between requests. This option causes the time between requests to vary between 0.5 and 1.5 * wait seconds, where wait was specified using the ‘—wait’ option, in order to mask Wget’s presence from such analysis.
A 2001 article in a publication devoted to development on a popular consumer platform provided code to perform this analysis on the fly. Its author suggested blocking at the class C address level to ensure automated retrieval programs were blocked despite changing DHCP-supplied addresses.
The ‘—random-wait’ option was inspired by this ill-advised recommendation to block many unrelated users from a web site due to the actions of one.
Запуск загрузки
Как только я объединю все варианты, у меня появляется этот монстр . Это можно выразить более лаконично, используя варианты с одной буквой. Тем не менее, я хотел, чтобы его было легко модифицировать, сохраняя длинные имена опций, чтобы вы могли интерпретировать, какие они есть.
Осталось только запустить эту команду для загрузки всего сайта. Приспособьте это к своим потребностям: по крайней мере измените URL в конце этого. Будьте готовы, что это может занять часы, даже дни – в зависимости от размера целевого сайта. И вы не видите прогресса, так как только задним числом можно понять размер архива.
На больших сайтах с десятками или даже сотнями тысяч файлов, статей, вы можете сохранить их на SSD до завершения процесса, чтобы не допустить уничтожения вашего жесткого диска. Они лучше справляются со многими небольшими файлами. Я рекомендую стабильное подключение к Интернету (желательно не беспроводное) вместе с компьютером, который может обеспечить необходимое время безотказной работы. Приближаясь к завершению, вы увидите, что wget конвертирует ссылки в файлы. Что-то вроде:
После этого вы должны получить обратно командную строку со строкой ввода. Если он останавливается рано, желательно изменить настройки и начать все заново в пустой папке.
Как использовать wget для загрузки веб-ресурсов
Чтобы загрузить удаленный ресурс по URL-адресу с помощью wget, вам нужно использовать следующую структуру:
wget -O path/to/local.copy http://example.com/url/to/download.html
Это сохранит файл, указанный в URL-адресе, в указанном месте на вашем компьютере.

Если вы исключите «флаг» , вашим местом загрузки будет текущий рабочий каталог.

Например, мы хотим загрузить веб-страницу в папку Загрузки:
wget -O /Users//Downloads/status.html https://www.w3.org/Status.html
Хотя, чтобы сделать то же самое без -Oфлага, нам нужно будет изменить каталог () перед запуском wget:
wget /Users//Downloads/status.html https://www.w3.org/Status.html
Вы получите полную информацию о ходе загрузки, хотя, учитывая скорость работы wget, эта информация похожа на сводку загрузки, а не на обновления в реальном времени.
Как это работает?
Wget будет начинать с определенного URL и посещать каждую ссылку, возвращаясь к бесконечной глубине. В конечном итоге он может сканировать весь сайт. То, как я его настроил, гарантирует, что он будет загружать только весь сайт, а не весь интернет – случайно . Другими словами, он не будет бродить по внешним сайтам и ничего не загружать с них. Вы получите все активы, такие как JS, CSS и изображения. Конечно, и все внутренние ссылки будут преобразованы в относительные ссылки
Последнее имеет жизненно важное значение для просмотра в автономном режиме копии, а исключенные или внешние ссылки остаются неизменными
Обратите внимание, что архив не является резервной копией, и вы не можете восстановить свой сайт из него. Описанный метод использует обход контента, как и поисковая система
Он найдет только те страницы, на которые ссылаются другие
Как побочный эффект, вы увидите важность использования внутренних ссылок на сайте для соединения фрагментов контента, чтобы помочь роботам сканировать ваш сайт
Я знаю, что это не относится строго к WordPress, но работает исключительно хорошо с блогами, использующими эту платформу. Тот факт, что блоггер использует некоторые стандартные виджеты WordPress на боковой панели (например, ежемесячный архив или облако тегов), очень помогает ботам.
Wget — консольный загрузчик для скачивания сайтов и его использование в Windows
Одно время в Рунете немалой популярностью пользовались менеджеры загрузок, позиционируемые их разработчиками как более эффективные инструменты скачивания контента из глобальной сети. Волна популярности, однако, вскоре схлынула, когда пользователи убедились, что эти программы ненамного превосходят встроенные средства браузеров. В почете остались лишь специализированные загрузчики.
Вроде тех, которые выпрямляют ссылки с YouTube или используются для пакетного скачивания с сайтов файлов определенного типа.
Программа, о которой сегодня пойдет речь, также является загрузчиком файлов, но при этом она имеет существенные отличия. Во-первых, у нее нет привычного графического интерфейса, вместо него пользователям предлагается работать в командной строке, во-вторых, она пришла к нам из мира Linux, а значит будет интересна тем, кто начинал свое знакомство с компьютерными технологиями с этой системы или просто хорошо в ней разбирается.
Называется программа Wget. Впрочем, назвать ее полноценной программой в общеупотребительном смысле слова можно лишь с натяжкой, это скорее утилита, к тому же консольная, а значит и понравится она далеко не всем. Изначально она использовалась для загрузки архивов и вообще скачивания файлов по сети, но с таким же успехом ее можно использовать для создания локальных копий сайтов с сохранением локальной структуры последних, групп и отдельных веб-страниц, а также их конвертирования в формат, удобный для просмотра сайтов в автономном режиме.
Wget умеет работать с протоколами HTTP, HTTPS и FTP, поддерживает прокси и докачку при обрыве связи, обладая при этом достаточно гибким набором комбинируемых параметров. Несмотря на кажущуюся сложность, пользоваться ею не так уже и трудно. Устанавливается утилита как и всякая другая программа — с помощью мастера, а вот запускать ее придется из командной строки, перейдя в расположение исполняемого файла wget.exe расположенного по адресу C:\Program Files\GnuWin32\Bin. Вот так:
cd C:\Program Files\GnuWin32\Bin wget.exe

Для удобства вы можете добавить расположение утилиты в переменные среды, это позволит вам запускать утилиту, не переходя в ее каталог. Теперь что касается использования. Wget имеет встроенную справку по ключам на русском языке, вызываемую командой -help.

Синтаксис же утилиты можно представить в виде такой схемы:
wget
wget здесь имя исполняемого файла утилиты, web — ресурс в интернете, с которого производится скачивание, key — дополнительные параметры или ключи, добавляемые по необходимости. А вот и самый простой пример использования. Допустим, мы хотим скачать с сети некое изображение. Зная его URL, выполняем такую команду:
wget https://ab57.ru/images/procexp1.png

Картинка будет сохранена в каталог с исполняемым файлом утилиты. Также вы можете загрузить файл с сохранением структуры каталогов сайта, добавив ключ -p:
wget -p https://ab57.ru/images/procexp1.png
Если у вас есть текстовый документ со списком файлов с указанием их URL, Wget поможет скачать их в пакетном режиме.
Для этого используется такая команда:
wget -i D:\data.tхt

В файле data.tхt было две ссылки на изображения, но утилита скачала только одну картинку. Такое может быть, если сайт использует HTTPS-соединение, в этом случае не удается проверить подлинность сертификата. Чтобы обойти это ограничение, добавляем к команде ключ —no-check-certificate.

Наконец, с помощью утилиты вы можете загрузить на жесткий диск весь сайт. Команда в этом случае будет выглядеть следующим образом:
wget -r -k -p -l 5 ab57.ru

Ключ -r устанавливает рекурсивную загрузку, -k — делает ссылки локальными (просмотр сайта в оффлайн-режиме), -p — загружает все файлы, l — устанавливает глубину рекурсии, в данном примере до пятого уровня вложенности (0 устанавливает бесконечность).
Поддерживает Wget также множество других параметров. Протоколирование операций, авторизация с логином и паролем на удаленном сервере, выбор действия при повторном скачивании файлов, изменение директории загрузки — всё это и многое другое умеет Wget, главное запастись терпением и во всём разобраться.
Профессиональное использование
- *
-
Для хранение зеркала страницы (или папки 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 = 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
Install WGET in Windows 10
Download the classic 32 bit version 1.14 here or, go to this Windows binaries collection at Eternally Bored here for the later versions and the faster 64 bit builds.
Here is the downloadable zip file for version 1.2 64 bit.
If you want to be able to run WGET from any directory inside the command terminal, you’ll need to learn about path variables in Windows to work out where to copy your new executable. If you follow these steps, you’ll be able to make WGET a command you can run from any directory in Command Prompt.
Run WGET from anywhere
Firstly, we need to determine where to copy WGET.exe.
After you’d downloaded wget.exe (or unpacked the associated distribution zip files) open a command terminal by typing “cmd” in the search menu:

We’re going to move wget.exe into a Windows directory that will allow WGET to be run from anywhere.
First, we need to find out which directory that should be. Type:
You should see something like this:

Thanks to the “Path” environment variable, we know that we need to copy wget.exe to the folder location.
Go ahead and copy WGET.exe to the System32 directory and restart your Command Prompt.
Restart command terminal and test WGET
If you want to test WGET is working properly, restart your terminal and type:
If you’ve copied the file to the right place, you’ll see a help file appear with all of the available commands.
So, you should see something like this:

Now it’s time to get started.
НАЙДЕННЫЕ ОШИБКИ
Вы можете отправлять отчеты об ошибках в GNU Wget на адрес <"bug-wget@gnu.org"> (на английском).
Перед отправкой:
- 1.
- Убедитесь, что поведение программы действительно ошибочно. Если Wget «вылетает», то это ошибка. Если поведение Wget не соответствует документации, то это ошибка. Если все работает странно, но вы не уверены, как оно должно работать на самом деле, то это тоже может быть ошибкой.
- 2.
- Попытайтесь повторить ситуацию с выдачей ошибки за минимальное количество действий.
Не спешите отправлять .wgetrc, попробуйте проделать все действия, приведшие к ошибке с другим файлом настроек (или вообще без него).
- 3.
- Запустите Wget с параметром -d и отправьте журнал (или его части). Намного легче отыскивать ошибки при наличии таких журналов.
- 4.
- Если Wget выдал ошибку, то попытайтесь запустить его в отладчике, например "gdb `which wget` core" и введите "where" для получения обратной трассировки.
Wget — консольный загрузчик для скачивания сайтов и его использование в Windows
| Команда | Описание |
|---|---|
| wget http://example.com/file.zip | скачивание файла file.zip в текущую директорию |
| wget -P /path/to/save http://example.com/file.zip | скачивание файла file.zip в директорию /path/to/save |
| wget -c http://example.com/file.zip | докачивание файла file.zip в случаи обрыва |
| wget -O arch.zip http://example.com/file.zip | скачивание файла file.zip и сохранение под именем arch.zip |
| wget -i files.txt | скачивание файлов из списка в files.txt |
| wget —tries=10 http://example.com/file.zip | количество попыток на скачивание |
| wget -Q5m -i http://example.com/ | квота на максимальный размер скачанных файлов, квота действует только при рекурсивном скачивании (-r) |
| wget —save-cookies cookies.txt —post-data ‘username=proft&password=1’ http://example.com/auth.php | идентификация на сервере с сохранением кук для последующего доступа |
| wget —user-agent=»Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5″ http://example.com/ | указание User Agent |
| echo ‘wget http://example.com/file.zip’ | at 12:00 | скачать http://example.com/file.zip в 12:00 в текущую директорию |
| wget ftp://example.com/dir/*.zip | скачивание всех файлов по шаблону |
| wget http://example.com/dir/file{1..10}.zip | скачивание всех файлов по шаблону |
| wget -S http://example.com/ | вывод заголовков HTTP серверов и ответов FTP серверов |
| wget —spider -i urls.txt | проверка ссылок в файле на доступность |
| wget -b http://example.com/file.zip | скачивание файла в фоне, лог пишется в wget.log, wget.log.1 и т.д. |
| export http_proxy=http://proxy.com:3128/;wget http://example.com/file.zip | скачивание файла *file.zip* через прокси |
| wget -m -w 2 http://example.com/ | зеркалирование сайта с сохранением абсолютных ссылок и ожиданием 2-х секунд между запросами |
| wget —limit-rate=200k http://example.com/file.zip | ограничение скорости скачивания |
| wget -R bmp http://example.com/ | не скачивать bmp файлы |
| wget -A png,jpg http://example.com/ | скачивать только файлы png и jpg |
Пример использования для скачивания документации Django:
- — ходим по ссылкам (рекурсивное скачивание)
- — преобразовываем ссылки к локальному виду
- — скачивание ресурсов необходимых для отображения html-страницы (стили, картинки и т.д.)
- — глубина скачивания, — бесконечная вложенность ссылок
- — не перезаписывать существующие файлы
- — не подниматься выше начального адреса при рекурсивной загрузке
Часто используемые wget параметры можно вынести в ~/.wgetrc.
| Команда | Описание |
|---|---|
| curl http://proft.me | получаем содержания главной страницы |
| curl -o index.html http://proft.me | получаем содержания главной страницы в файл index.html |
| curl -L http://example.com | при получении содержимого страницы следовать по редиректам (если такие есть) |
| curl -u username:password http://example.com/login/ | получение страницы скрытой за Basic HTTP Authentication |
| curl -x proxy.com:3128 http://proft.me | получение страницы используя прокси |
| curl -I proft.me | получаем http-заголовки с сайта |
| curl -H ‘Host: google.ru’ http://proft.me | подменить домен при обращении к серверу (передача своего заголовка) |
| curl —request POST «http://example.com/form/» —data «field1=value1&field2=value2» | передача данных POST-запросом |
| curl -X POST «http://example.com/form/» —data «field1=value1&field2=value2» | передача данных POST-запросом |
| curl -X POST -H «Content-Type: application/json» -d ‘»title»:»Commando»,»year»:»1985″‘ http://example.com/api/movies/ | передача данных POST-запросом, данные в виде JSON |
| curl —request PUT «http://example.com/api/movie/1/» —data «title=DjangoUnchained» | передача данных PUT-запросом |
| curl -F uploadfiled=@file.zip -F submit=OK http://example.com/upload/ | загрузка файла file.zip в форму (multipart/form-data) |
| curl -u username:password -O ftp://example.com/file.zip | скачать файл с FTP |
| curl -u username:password -T file.zip ftp://example.com/ | закачать файл по FTP |
| curl —cookie «login=proft» http://example.com/login/ | установить кукис |
| curl —cookie-jar cookies.txt http://example.com | сохранение кукисов в файл |
| curl —cookie cookies.txt http://example.com/login/ | использование сохраненных кукисов |
Дополнительное чтиво
blog comments powered by