How to download your website using wget for windows

Содержание:

Постобработка архива

К сожалению, ни одна автоматизированная система не является идеальной, особенно если ваша цель – загрузить весь сайт. Вы можете столкнуться с некоторыми небольшими проблемами. Откройте заархивированную версию страницы и сравните ее рядом с живой. Там не должно быть существенных различий. Я удовлетворен, если весь текстовый контент там с изображениями. Гораздо меньше волнует, работают ли динамические части или нет. Здесь я рассматриваю наихудший сценарий, когда изображения отсутствуют.

Современные сайты используют атрибут и тег для загрузки адаптивных изображений. Хотя wget постоянно совершенствуется, его возможности отстают от передовых технологий современного Интернета. Хотя в wget версии 1.18 добавлена поддержка, ей не нравится более экзотическая комбинация тегов. Это приводит к тому, что wget только находит запасное изображение в теге img, а не в любом из исходных тегов. Он не загружает их и не затрагивает их URL. Обходной путь для этого состоит в массовом поиске и замене (удалении) этих тегов, поэтому резервное изображение все еще может появиться.

  1. Получить последнюю версию grepWin – я рекомендую портативную версию.
  2. Добавить папку архива в Поиск в
  3. Выберите Regex search и Search для:
  4. Добавить в имена файлов совпадают:
  5. Нажмите « Заменить» (вы можете проверить, что он что-то находит с помощью функции « Поиск» )

Вы можете использовать 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *