Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программное обеспечение Windows (http://forum.oszone.net/forumdisplay.php?f=7)
-   -   wget (http://forum.oszone.net/showthread.php?t=51240)

Vadikan 03-07-2005 06:04 337968

wget
 
Домашняя страница
wget для Windows
Текущая версия: 1.11.4

wget - менеджер закачек, работающий из командной строки. Его можно использовать как для загрузки отдельных файлов (списков файлов), так и для закачки целых сайтов. Гибкие настройки (не уступающие GUI менеджерам закачек) обеспечиваются соответствующими параметрами командной строки.

Цитата:

Цитата http://os2.in.ru/software/internet/wget/
WGet неинтерактивная программа, что означает, что она может работать в фоновом режиме, без непосредственного участия пользователя. Это позволяет запускать загрузку файлов и останавливать ее автоматически.

Для сравнения, большинство Веб-браузеров требуют непосредственного и постоянного присутствия пользователя, что является тратой времени, особенно при перекачке большого количества информации.

WGet способен рекурсивно спускаться по структуре HTML-документа и дереву каталогов FTP-сервера, позволяя делать их копии на локальной машине. Это свойство полезно для зеркалирования серверов или для поиска в сети нужной информации в режиме WWW-робота.

При скачке файлов и зеркалировании с использованием FTP-протокола допускается использование шаблонов. WGet может анализировать время и дату создания файлов на HTTP и FTP серверах и сохранять ее на локальной машине. Таким образом, WGet может отслеживать изменение содержимого удаленного файла и перекачивать его новую версию автоматически в случае необходимости. Это делает WGet весьма полезным для зеркалирования как FTP-серверов, так и домашних HTTP-страниц.

WGet чрезвычайно хорошо работает при медленном или нестабильном коннекте, пытаясь скачать документ до тех пор, пока он не будет полностью скачан или не будет превышено определенное пользователем количество попыток. WGet пытается продолжить загрузку с того места, на котором она была прервана используя REST для FTP-серверов и Range для тех HTTP-серверов, которые его поддерживают.

По умолчанию WGet поддерживает прокси-серверы, которые могут разгрузить сеть, увеличить скорость загрузки и обеспечить доступ сквозь firewalls. WGet также опционально поддерживает пассивную загрузку для FTP-серверов.

Загрузка трассируется выводом на экран точек, каждая из которых соответствует определенному объему скачанной информации (1 Кб по умолчанию). Это значение может быть изменено пользователем.

Для большей части свойств доступно полное их конфигурирование пользователем путем использования опций командной строки или редактированием файла `.wgetrc'

Наконец, GNU Wget является свободно распространяемым программным продуктом. Это означает, что любой пользователь может работать с ним, распространять его и изменять в соответствии с GNU General Public License, опубликованной Free Software Foundation.

Справка:
Код:

wget --help
Документация: EN / RU.

Простые примеры использования:
Закачать файл по ссылке
Код:

wget URL
Продолжить закачку частично загруженных файлов; не перезаписывать существующие файлы; закачать файлы, ссылки на которые перечислены в текстовом файле list.txt; записать лог в log.txt
Код:

wget -c -nc -o log.txt -i list.txt
P.S. Для тех кто не может жить без графического интерфейса:
wget GUI 1
wget GUI 2

Blast 24-10-2008 10:29 932252

wget
 
Господа. Помогите нарисовать скрипт или batch с использованием wget для вот какой цели:
есть ftp
на нем определенное кол-во каталогов
в них подкаталоги, в которых файлы
необходимо скачать каталоги (с сохранением структуры) из корня, но только по времени модификации да еще и по условию, чтоб дата модификации была сегодня или вчера, а если в целевой папке (куда будет скачиваться) присутствуют каталоги, которые пытаемся скачать, то пропускать их
при этом еще нужно исключить подкаталоги по маске

Примерное содержимое нужных каталогов:

Если отталкиваться от примера, то мне нужно скачать каталог 23_10, модифицированный сегодня (или вчера), со всем содержимым, с сохранением структуры подкаталогов, но исключить подкаталог СС-22_10

__/22_10/
| |
| |_____/AA-22_10/
| | |
| | |________file1.ext
| | |________file2.ext
| |
| |_____/BB-22_10/
| | |
| | |________file1.ext
| | |________file2.ext
| |
| |_____/СС-22_10/
| |
| |________file1.ext
| |________file2.ext
|
|_/23_10/
| |
| |_____/AA-23_10/
| | |
| | |________file1.ext
| | |________file2.ext
| |
| |_____/BB-23_10/
| | |
| | |________file1.ext
| | |________file2.ext
| |
| |_____/СС-23_10/
| |
| |________file1.ext
| |________file2.ext

Vadikan 25-10-2008 23:02 933648

Blast, а локально уже существует аналогичная структура или нужно изначально выбрать только определенные каталоги?

Blast 31-10-2008 18:27 939233

сорри.. я пропустил ответ :)

Локально нет структуры, есть только папка назначения, в которую и нужно это дело скачать. По большому счету не обязательно это должен быть wget, мне просто показалось, что с ним должно быть проще чем с виндовым ftp. Конечно хотелось бы отделаться командной строкой так как выполнять задание нужно по расписанию.

Vadikan 01-11-2008 01:07 939562

Blast, в общем, я не знаю, как задать маску для папок. Ее можно задавать в виде черного и белого списка для имен/расширений файлов. Там есть опции Accept, Reject. Например,
Код:

-A "*22_[0-9][0-9]*" -R .txt
загрузит все файлы от 22_00 до 22_99 кроме текстовых.

Для папок есть свои - Include, eXclude, но я не знаю, поддерживают ли там маски. В мануале написано, что нужно указывать пути относительно корня.
Код:

- I /files,/images -X /junk
.

В общем, если структуру создать (один раз сделать зеркало), то дальше wget уже не будет загружать неизменившиеся файлы/папки. Команда примерно такая:

Код:

wget --ftp-user=user --ftp-password=password -l 2 -r -N -k host
Код:

-l 2 - два уровня (насколько я понял, из структуры)
-r - рекурсивно
-N - time-stamping. Если локальный файл отсутствует или старее того, что на сервере - новый файл загружается. Иначе нет.
-k - (необязательно) конвертирует ссылки в док-тах для локального просмотра
host - адрес


vovansa 01-08-2010 23:53 1464874

с помощью wget файлы можно переименовать? Если возможно, то каким образом.

Vadikan 06-08-2010 19:19 1468422

vovansa, насколько я знаю, нельзя. Можно только конвертировать ссылки для локального просмтора (-k). А что конкретно требуется?

cher 31-12-2011 00:30 1825920

Дабы не создавать новую тему.... так и не "добил" закачку файлов с сервера.
к примеру имеем адрес http://yaidiot.ru - 20 папок с файлами.
Надо всё содержимое скачать в C:\2 без изменения структуры.
Добился только скачивание index.html :dont-know

Morpheus 31-12-2011 02:58 1825958

cher, вы рекурсивную загрузку включили? Ссылки на главной странице на эти файлы есть? Если ага, то примерно так:
Код:

cd /d c:\2
wget -r -l0 -np -k http://yaidiot.ru

Не забывайте читать --help


Если ссылок нет, придётся составлять список и уже его подпихивать wget'у.

cher 31-12-2011 07:33 1825997

Morpheus, Спасибо. Всё получилось.
откуда русскоязычный хэлп?

Iska 31-12-2011 11:00 1826044

cher, например, отсюда: Wget - Поиск в GoogleWget — ВикипедияПеревод man wget на портале Opennet. Windows-версия утилиты лишь немного отстаёт от этого перевода.

Morpheus 31-12-2011 11:26 1826049

cher, брал wget здесь (Complete package, except sources).

cher 31-12-2011 11:58 1826060

Morpheus, То же оттуда качал, но не ту ссылку. Спасибо! - теперь и в cmd -"русиш". :)

AlterEgoFS 06-03-2012 23:40 1873930

wget и sourceforge
 
когда скачиваю pdfcreator, пишу cmd
Код:

wget --output-document=pdfcreator.exe http://sourceforge.net/projects/pdfcreator/files/latest/download
и он скачивает pdfcreator.exe

когда скачиваю Inno Setup Unpacker, пишу тоже самое, но скачивается либо файл download на 17 кб, либо (если wget без параметров) - rops-3.0.53.935-disasm.rar, но там исходники какие то
какой юзерагент вписать, чтобы скачалось именно innounp036.rar ?

Максимов 04-06-2012 03:55 1927589

Wget Как бы сохранить текст всего сайта состоящего их тысяч страниц в одном текстовом документе.
Поскажите команды которые надо ввести.


Время: 22:39.

Время: 22:39.
© OSzone.net 2001-