Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Wget

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178

Открыть новую тему     Написать ответ в эту тему

GaDiNa



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
[ UNIX Shell ] || [ Рекурсивная загрузка веб-сайтов ] — родительские ветки.
 
GNU Wget

GNU Wget — это свободная неинтерактивная утилита для скачивания файлов по HTTP, HTTPS, FTP и FTPS (и только), обладающая самым базовым функционалом загрузки одиночных файлов и рекурсивной загрузки сайтов (HTTP) и директорий (FTP).
 

| Офсайт | Википедия | Фрешмит | Опен-хаб (бывш. Охлох) | Мануал | Ман | Ман (русск., устар.) | --help (русск.) |

 
Где взять.
Под GNU — уже стоит. Под FreeBSD — есть в портах. Под [Mac] OS X — собрать ванильный.  
Под Windows есть варианты: Cygwin | GNUWin32 (учитывайте зависимости) | Wget + OpenSSL by GetGnuWin32  | by TumaGonx Zakkum (он же osspack32 и The Moluccas  |  by Jernej Simoncc (32 и 64 бит отдельные пакеты) | Wget2.
.
 
Литература.
Popkov. Параметры программы wget
В. А. Петров. Wget — насос для Интернета
 
FAQ
 
Q: Можно ли простым перебором загрузить страницы (допустим) с первой по сотую, если их адреса:  
http://example.org/index?page=1
http://example.org/index?page=2
...
http://example.org/index?page=100
A: Вэ-гет не умеет делать инкрементальный перебор, поскольку это умеет делать любая командная оболочка. На Баше это делается так:
$ wget -E "http://example.org/index?page="{1..100}
Еще раз отметьте, {1..100} — это синтаксическая конструкция Баша, а не Вэ-гета. Эквивалентной этой будет команда:
$ for i in {1..100}; do wget -E "http://example.org/index?page=$i"; done
Или для cmd.exe:
for /l %i in (1,1,100) do wget -E "http://example.org/index?page=%i"
 
Q: А как собственно сайт целиком-то загрузить?
A: $ wget -mpEk "http://example.org"
Это, наверное, самый ходовой набор ключей, но вам, может быть, более подойдут другие. Что значит каждый — легко узнать в мане.
 
Q: Я хочу загрузить с сайта, требующего авторизации. Что делать?
A: Проще всего кинуть куда-нибудь файл с нужными (но лишние не помешают) куками в нетскэйповском формате, затем воспользоваться ключом --load-cookies.
$ wget --load-cookies cookies.txt бла-бла # файл cookies.txt в текущей директории
У Файрфокса куки в требуемом виде можно получить, воспользовавшись расширениями «Export Cookies» либо «Cookie.txt»; у Хрома — «Cookie.txt export»
 
Q: Не-ASCII символы сохраняются в именах файлов как %D0%A5%D1%83%D0%B9 (или того хуже), хотя локаль юникодная.
A: Укажите ключ --restrict-file-names=nocontrol,unix или --restrict-file-names=nocontrol,windows соответственно.
Если у вас Windows и локаль не юникодная — используйте вариант от Alex_Piggy с ключом --local-filesystem-encoding=ENCODING, где ENCODING — имя кодировки локали в терминах iconv. Текущую локаль cmd.exe можно проверить при помощи команды chcp. Для русской кириллицы в Windows обычно используется CP866.
 
Q: Известно, что можно приказать Вэ-гету обновить ранее загруженный файл, если на сервере новее или иного размера (ключ --timestamping, он же -N). Можно приказать учитывать только дату, но не размер (--timestamping --ignore-length). А можно ли учитывать только размер, но не дату?
A: При помощи одного только Wget’а — нет.  Возможна обработка получаемых заголовков файла при помощи средств командной оболочки. Пример для cmd.exe.
 
Q: Можно ли приказать Вэ-гету докачать файл, но только если он не изменился.
A: Нет, нельзя. Сочетание ключей -cN (--continue --timestamping), как можно было бы предположить, нужного эффекта не даст — «докачает» даже если файл изменился — получите в итоге мусор.
 
Q: Можно ли при рекурсивной загрузке ограничится только ссылками, содержащими параметр lang=ru, т.е. грузить:
http://example.org/index?lang=ru
http://example.org/page?id=1001&lang=ru
http://example.org/file?id=60&lang=ru&format=dvi
и не грузить:
http://example.org/index?lang=en
http://example.org/about?lang=fr
и т.д.
A: Для версий < 1.14 нет такой возможности.  
Общий вид URI: <протокол>://<логин>:<пароль>@<хост>:<порт>/<путь>?<параметры>#<якорь>. Так вот ключи -I (--include-directories) и -X (--exclude-directories) относятся только к пути, но не к параметрам.
В версиях > 1.14 возможно при использовании ключей --accept-regex / --reject-regex. Пример: --reject-regex "lang=[^r][^u]"
 
Q: Можно ли средствами Вэ-гета ограничить перечень загружаемых файлов по дате модификации (новее чем, старше чем)?
A: Нет такой возможности.
 
Q: Можно ли при рекурсивной или множественной загрузке произвольно задать целевые пути и/или имена файлов на основе пути/имени по-умолчанию (применить транслитерацию, отбросить хвостовую часть) или хотя бы независимо (сгенерировать случайно или по счетчику)?
A: Нет.
 
Q: То — нельзя, это — невозможно. Почему все так плохо?
A: Потому что Вэ-гет на настоящий момент — базовая программа, предоставляющая только самый базовый функционал. Если вы уперлись в потолок ее возможностей, просто смените ее на другой инструмент. Из неинтерактивных свободных программ наиболее функциональными будут:
aria2c — для загрузки одиночных файлов по HTTP(S), FTP, бит-торренту;
httrack — для рекурсивной загрузки («зеркалирования») веб-сайтов;
lftp — для работы по FTP, FTPS, SFTP, FISH, а также с листингами, отдаваемыми по HTTP(S) (пример).
curl — для работы с одиночными файлам по HTTP(S), FTP(S) и многими другими протоколами на более низком уровне.
wput — клон wget для аплоада файлов на удаленные FTP(S) сервера.
axel — клон wget для многопоточной загрузки одиночных файлов по протоколам HTTP(S) и FTP(S). Порты для Windows: 2.4, 2.16.1
 
Разное.
GUI для Wget’а
 

Смело правьте и дополняйте шапку, однако не забывайте отписываться об исправлениях и сохранять исходный вариант под #.

Всего записей: 1551 | Зарегистр. 17-06-2003 | Отправлено: 13:39 08-11-2003 | Исправлено: anynamer, 11:40 25-12-2023
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tumanovalex
 
Там нужен специальный компилятор и po-файл. Погляжу, будет время - попробую сделать. Пока лучше так, чем никак. Это фокусы M$ - пишут одно, говорят другое, делают третье, а реально думают вообще о чёрт знает чём. Тут без ковыряния в исходниках ничего не сделать, а на это нужны силы и время.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 05:57 20-01-2009
tumanovalex

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне жалко Вашего времени и сил. Подсказанное Вами решение вполне меня удовлетворяет, хотя бы можно понять сообщения программы. Еще раз большое спасибо за совет!

Всего записей: 143 | Зарегистр. 31-10-2005 | Отправлено: 09:37 20-01-2009
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tumanovalex
 
Ладно, коли буду его компилить - поищу POEdit, попробую им обойтись. У себя я этот файл и не помню когда прибил - там ещё больше было намешано! Штук пять кодировок парень туда вставил когда компилил для брата. А тот сиё "счастье" мне сплавил, ну а я в dev>/nul прямой наводкой.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 10:28 20-01-2009 | Исправлено: Victor_VG, 10:29 20-01-2009
DTLA

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
возник такой вопрос:
 
при попытке качать с FTP через прокси вылазит
 
Добавлено:
возник такой вопрос:
при попытке качать с FTP через прокси вылазит  
 
200 No headers, assuming HTTP/0.9
Length: unspecified  
 
потом скачивает пару метров и зависает на нулевой скорости, причем ETA идет. Перезапуск запускает закачку сначала и опять виснет...
Без прокси с теми же настройками качает нормально
 
## Настройки wgetrc
convert_links = on
 
passive_ftp = off
glob = on
 
tries = 0
continue = on
recursive = on
 
use_proxy = on  
cache = on
#proxy-user=
#proxy-passwd=
http_proxy = http://192.168.0.1:8080    
ftp_proxy = http://192.168.0.1:8080  

Всего записей: 17 | Зарегистр. 03-10-2008 | Отправлено: 12:44 22-01-2009
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DTLA
 
Думаю, что стоит тебе глянуть ключи в шапке и командной строки их выдала версия 1.11.4.1 и по ним посмотри свои настройки. Обычно Wget нормально и через прокси и без него качает. Мои ключи тебе не подойдут - они сделаны в sh-скриптах для BSD и Solaris с учётом их особенностей.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 14:50 22-01-2009
Aeismann



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DTLA
какого типа прокси (http, ftp?). попробуй также включить пассивный режим

Всего записей: 174 | Зарегистр. 24-10-2006 | Отправлено: 23:52 25-01-2009
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Такой вопрос: есть ли графическая Windows-морда для wget, работающей под FreeBSD/Linux, по протоколу ssh? То есть, на соседней FreeBSD/Linux-машине скачивается файл, и чтобы я мог удобно управлять поцессом из Windows-машины?

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 01:43 27-01-2009
rBBWYwg



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые, помогите с некоторыми вопросами по Wget.
 
1 - Может ли программа производить выкачку внедренных видеофайлов, как это делает, например, Download Master? Для примера можно взять любую ссылку с Youtube. Можно ли при помощи Wget производить закачку подобных (flv, m4v, mp4 и т.д.) файлов?
 
2 - Может ли Wget в режиме скачивания списка ссылок (не рекурсивной выгрузки) помещать их в каталоги, соответствующие имени хоста (домена)? Если да, каким образом должна выглядеть такая строка?
 
3 - Может ли Wget работать в многопоточном режиме (параллельный запуск)?
 
Использую прогу под Windows, очень надеюсь на ответы. Знаю, что есть еще программа CURL - может, она решает такие задачи?

Всего записей: 23 | Зарегистр. 14-10-2008 | Отправлено: 11:28 27-01-2009
Nike000



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
1 - Может ли программа производить выкачку внедренных видеофайлов, как это делает, например, Download Master? Для примера можно взять любую ссылку с Youtube. Можно ли при помощи Wget производить закачку подобных (flv, m4v, mp4 и т.д.) файлов?

 
Может. Находишь внутри страницы адрес видеофайла и скармливаешь wget-у. Сам он ссылку, естественно, не выдернет.
 

Цитата:
2 - Может ли Wget в режиме скачивания списка ссылок (не рекурсивной выгрузки) помещать их в каталоги, соответствующие имени хоста (домена)? Если да, каким образом должна выглядеть такая строка?

 
Может. RTFM "-x"
 

Цитата:
3 - Может ли Wget работать в многопоточном режиме (параллельный запуск)?

 
 
Может, только либо в бекграунд режиме, либо каждый экземпляр в своей консоли.

Всего записей: 248 | Зарегистр. 19-10-2006 | Отправлено: 13:13 27-01-2009
rBBWYwg



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nike000
 
Большое спасибо за оперативные ответы! Кратко и понятно.
 
Позвольте все же немного злоупотребить Вашей помощью, и задать еще один уточняющий вопрос касаемо пункта 1. Как раз в нем и самая проблема, поскольку DM способен самостоятельно выдергивать прямые ссылки на видеофайлы, но совершенно неприемлем для реализации через командную строку - задает много ненужных вопросов, на которые сам же отвечает через 30 секунд, виснет при постановке ссылок в очередь, беден в смысле параметров командной строки, не может прятаться в фоновый режим и т.д.
 
Не о нем речь. Знаете ли вы какие-либо консольные средства извлечения прямых ссылок на внедренные файлы, которые бы позволили мне принять на вооружение Wget? Ручные знакомы, но они совершенно неприемлемы, поскольку весь смысл - в автоматизации, которую и реализую через cmd.

Всего записей: 23 | Зарегистр. 14-10-2008 | Отправлено: 13:34 27-01-2009
mithridat1



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rBBWYwg
Если ваша проблема только в закачке видео с ресурсов типа Youtube в скрытом режиме то лучше воспользоваться качалкой типа USD.У последней есть соответствующая опция командной строки и веб-интерфейс.

Всего записей: 4946 | Зарегистр. 05-01-2006 | Отправлено: 14:09 27-01-2009 | Исправлено: mithridat1, 14:10 27-01-2009
JugglerLKR



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Версия 1.11.4 - не работает -N вместе в --retr-symlinks.
wget -N --retr-symlinks  
Кто-нибудь еще может проверить на своих хостах или я что-то не так делаю?

Всего записей: 178 | Зарегистр. 23-05-2004 | Отправлено: 19:13 01-03-2009
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Объясните, в чём преимущество Wget for Windows перед FlashGet? Вот уже пару месяцев активно гоняю wget под Linux -- поставил рядом средненький блок (Pentium 4 1,7 GHz, 256 RAM, RHEL 5.2), захожу туда с Windows-машины по ssh/PuTTY, скармливаю список и она прекрасно пашет, тьфу-тьфу-тьфу, очень надёжный софт, и как некоторые плачутся, что "не хватает интерактивности" -- какая интерактивность там ещё нужна, что как седло корове? Может, я чего-то упустил?

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 20:54 01-03-2009
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TeXpert
 
Кому-то нравится кнопочки нажимать, а мне проще скриптом скормить Wget-у список. Ну, на вкус и цвет...

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 21:54 01-03-2009
rBBWYwg



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А я вот бьюсь и никак не могу воспользоваться опцией принудительного присвоения файлам без расширения или динамическим ASP | CGI | PHP расширения HTML.
 
Мало того, что здесь
http://forum.ru-board.com/topic.cgi?forum=5&topic=10066&start=0
в своем описании господин Advanced Member popkov использует для этого параметр "-E", а в моей версии WGET 1.5.3.1 (из командной строки последнего дистрибутива 1.11.4) это параметр "-F", так он еще и не работает. Скачанные файлы не получают шмелевское расширение.
WGET использую прод Windows XP, в сочетании с опциями "-x" (сохранение с учетом структуры папок сайта), "-P" (добавление произвольного названия главной папки) , "-i" (источник ссылок для скачивания - файл html).
 
Ну что я не так делаю? Подскажите!

Всего записей: 23 | Зарегистр. 14-10-2008 | Отправлено: 12:34 02-03-2009
rBBWYwg



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Н-даа..
Неужто никто не подскажет ошибку в строке вида  
wget.exe -x -F -PFOLDER -i links.htm
- почему параметр "-F" не присваивает скачанным страницам расширение html?
Плз. Сама не справлюсь.

Всего записей: 23 | Зарегистр. 14-10-2008 | Отправлено: 14:14 03-03-2009
f_serg



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rBBWYwg
В версии 1.11.4:
 

Цитата:
-F,  --force-html          treat input file as HTML.
...
-E,  --html-extension        save HTML documents with `.html' extension.

 
Так что брать последнюю версию wget и использовать оба ключа -F -E.

----------
Serg

Всего записей: 1706 | Зарегистр. 11-09-2002 | Отправлено: 10:14 06-03-2009
rBBWYwg



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
f_serg
Бльшое спасибо! Уже не надеялась на ответ.
 
Добавлено:
f_serg
Эх... Не работает.  
Вообще не понимаю - скачиваю версию 1.11.4 (официальный http://www.christopherlewis.com/WGet/wget-1.11.4b.zip ), захожу в список опций (-h) или вывожу версию (-v), и там вижу:

Код:
 GNU Wget 1.5.3.1  

где в полном перечне опций НЕТ НИКАКОГО "-E".
 
Может, сольете свою версию?

Всего записей: 23 | Зарегистр. 14-10-2008 | Отправлено: 10:50 06-03-2009 | Исправлено: rBBWYwg, 13:20 06-03-2009
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rBBWYwg
 
Кое-кто из наших перестарался - дал ссылку не на офсайт, а на домашнюю страницу пользователя, а у того лежит версия пакета всего лишь от ... wget-1.5.3.tar.gz  23-Sep-1998 02:35. Ну ошибся человек, бывает. Скачайте последнюю версию отсюда - http://gnuwin32.sourceforge.net/packages/wget.htm. В шапке ссылку поправил - на SourceForge.net всегда лежит именно последняя скомпилированная версия.
 
TeXpert
 
Под FreeBSD я такого инструмента в портах не встречал, а копаться во всех 20000-и с лишком файлов времени нет. Пиши если чего скрипт на Perl - в BSD системах как минимум Perl-5.5.8 всегда есть. Или используй sh-скрипт.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 00:16 07-03-2009 | Исправлено: Victor_VG, 00:30 07-03-2009
rBBWYwg



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
grand merci

Всего записей: 23 | Зарегистр. 14-10-2008 | Отправлено: 11:06 10-03-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178

Компьютерный форум Ru.Board » Компьютеры » Программы » Wget


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru