Страница 21 / 118

Wget: [Назад] 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 [Вперед]

GaDiNa



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

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

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

 
Где взять.
Под GNU — уже стоит. Под FreeBSD — есть в портах. Под [Mac] OS X — собрать ванильный.  
Под Windows есть варианты: 0) Cygwin,  1) GNUWin32 (учитывайте зависимости), 2) Wget + OpenSSL by GetGnuWin32, 3) by Bart Puype  4) by osspack32, 5) by Alex_Piggy, 6) by Jernej Simoncc (32 и 64 бит отдельные пакеты).
 
Литература.
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 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) и многими другими протоколами на более низком уровне.
 
Разное.
GUI для Wgetа
 

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

Всего записей: 1503 | Зарегистр. 17-06-2003 | Отправлено: 12:39 08-11-2003 | Исправлено: VictorVG2, 22:57 06-01-2016
Victor_VG

Редактировать | Цитировать | Сообщить модератору
Der Meister
 
Будь он у меня. Мне дали тот дистрибутив, что у меня на сервере, информация о необходимости BITS от парня который его собирал. А я его не видел уже года два. Самому интересно, что он там сделал. Но, факт, его код - работает.

Отправлено: 17:26 02-04-2008
Der Meister

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

Цитата:
Будь он у меня.

Здесь посмотрите.

Всего записей: 111 | Зарегистр. 06-08-2005 | Отправлено: 19:26 02-04-2008
gbcfkf



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
День добрый
 
Подскажите как при закачивании перейти в нужную папку?
Т.е. скачиваю по ftp командой:

Код:
ftp://xxx.xxx.xxx.xxx/

По умолчанию скачивается папка /root
 
А как быть, если нужно вернуться в корневую директорию, а затем перейти в папку /temp и скачивать уже её?
 
update
Видать мне суждено самому всегда находить ответы на свои вопросы

Код:
ftp://xxx.xxx.xxx.xxx/../temp


Всего записей: 699 | Зарегистр. 17-10-2006 | Отправлено: 08:39 03-04-2008 | Исправлено: gbcfkf, 08:51 03-04-2008
Aeismann



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

Цитата:
Это статическая сборка сбраннная другом с помощью MinGW под OpenBSD 3.6

Бсд-шная сборка требует либу от вижуал студии?! Или ты о чем?
Отключил эту службу нафиг, запустил 1.10.2 , он мне все отлично скачал. Не знаю, правда, как насчет новой версии. По моим представлениям, эту шнягу юзает только дурацкий виндовский апдейт.

Всего записей: 174 | Зарегистр. 24-10-2006 | Отправлено: 09:43 03-04-2008
Victor_VG

Редактировать | Цитировать | Сообщить модератору
Aeismann
 
Эта "шняга" удобна тем, что позволяет осуществить мечту связиста - 100% использовать доступную полосу пропускания канала связи с помехами. Надеюсь, что теорию вероятности ты хотя бы читал? Если нет, то извини, сначала прочти Е.С. Венцель. Теория вероятностей/  Иначе ты просто не сможешь понять что происходит в канале, и цель использования "шняги"..  
 
P.S.
 
Данный учебник включён в состав обязательных для изучения в ВУЗ-х студентами математических, технических и ряда гуманитарных специальностей Министерством Образования РФ.

Отправлено: 14:53 03-04-2008
popkov

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

Цитата:
Надеюсь, что теорию вероятности ты хотя бы читал? Если нет, то извини, сначала прочти Е.С. Венцель. Теория вероятностей/  Иначе ты просто не сможешь понять что происходит в канале, и цель использования "шняги"..  

Гонор безо всякого содержания. Гордыню надо сдерживать! Если ДЕЙСТВИТЕЛЬНО понимаешь, как это работает и в чём преимущества - объясни (на примерах!), а не пиши туфту бессодержательную!

Всего записей: 1780 | Зарегистр. 22-03-2003 | Отправлено: 17:36 03-04-2008
Der Meister

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

Цитата:
По моим представлениям, эту шнягу юзает только дурацкий виндовский апдейт

Юзают эту, как Вы выразились, "шнягу" довольно многие - спросите у гугла.
Рекомендую Вам поюзать Bitsadmin(входит в состав Support Tools XP, Win2k3, в Vista устанавливается сразу) - довольно удобная штука.
Единственный недостаток - сервер должен поддерживать докачку (HTTP 1.1).
А здесь можно взять очень удобные скрипты от Microsoft Consulting Services.

Всего записей: 111 | Зарегистр. 06-08-2005 | Отправлено: 17:38 03-04-2008 | Исправлено: Der Meister, 17:54 03-04-2008
JekaRus

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Как качать по ftp через прокси? На доктор вебе ссылки на антивирусные базы изменили и бызы сейчас только по фтп качаются. Теперь у меня wget их не качает.

Всего записей: 977 | Зарегистр. 10-08-2005 | Отправлено: 08:21 04-04-2008
Victor_VG

Редактировать | Цитировать | Сообщить модератору
popkov
 
Сразу видно где "гонор без всякого содержания". Всё элементарно, Ватсон - чем больше уровень помех в канале связи, тем меньше его пропускная способность, и при вероятности помехи равной 0,5 она становится равной нулю, т.к. невозможно определить что принято - полезный сигнал либо помеха - они встречаются одинаково часто, а для уменьшения влияния помех в канале применяются статистические методы приёма. Они просты - мы передаём полезное сообщение не один раз, а несколько, а потом сравниваем что получили. ТО сообщение которое встречается большее число раз принимаем за истину, а остальные за ложь. Те же корректирующие коды имею ту же цель - увеличение доли истинных сообщений в канале связи с помехами за счёт введения избыточности и уменьшение с её помощью общих накладных расходов канала связи. Ведь в данном случае статистический приём - это прямые накладные расходы, уменьшающие эффективную полосу пропускания канала связи. Просто мы исходим из предположения о относительно достаточно малой вероятности помехи в реальном канале в течении времени передачи сообщения. Часть ошибок скорректирует код коррекции, а те блоки данных которые повреждены так, что их не возможно или не рентабельно восстанавливать передаются повторно. Это стандартный на сегодня метод борьбы с помехами в цифровых каналах связи. Но, там они применимы из-за их дискретной природы, а в аналоговых каналах связи данные методы абсолютно не применимы - информация в них меняется непрерывно, и любая помеха ведёт к её искажению. А утверждать так, как ты сейчас сказал, может только человек не понимающий самого простого - любой физический канал связи это канал с помехами. И самые "простые" из них, и при этом самые поганые - это Больцмановские тепловые шумы в проводнике - они имеют достаточно широкий частотный спектр и их уровень зависит от температуры и полосы частот. И убрать их можно только охлаждением. Я уже молчу о электромагнитных наводках от других работающих приборов, электродвигателей (особенно коллекторных, там это искровые помехи и зачастую большой амплитуды), радио передатчиков всех типов, влиянии заряженных частиц на работу полупроводниковых приборов и прочей физической "лабуде" - в школе это не проходят, работяге у станка эти знания никогда не потребуются - он должен уметь кнопки нажимать да с напильником обращаться - зачем тратить зря время и деньги на его избыточное обучение? - он и так прекрасно справится с порученной ему работой, это же азы экономики, а инженеры это хорошо знают - для них это азы профессии... Ну, да у нас инженеры не требуются - любой первоклассник "всё знает", а вся техника свалилась с "летающей тарелки" как детей находят в капусте.

Отправлено: 08:57 04-04-2008
Aeismann



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG, вовсе не обязательно столько пафоса, теории вероятностей и сетований на систему образования. Если в школе будут давать все, в ней будут учиться лет 20 без перерыва на воскресенье. К тому же из твоей сентенции все равно неясно, по какому принципу работает BITS.
 
Der Meister, мда, то есть по сути МС сделала качалку файлов . Забавно, однако вгет и так вполне удовлетворяет любые нужды. А настолько плохие каналы, как расписывал Victor_VG, все-таки встречаются не так часто...
 

Всего записей: 174 | Зарегистр. 24-10-2006 | Отправлено: 09:35 04-04-2008
Victor_VG

Редактировать | Цитировать | Сообщить модератору
Aeismann
 
Любой реальный канал связи какой ни возьми это канал связи с помехами. Мы от этого никуда не денемся, и описывают его жёсткие законы теории вероятностей. Это банальная физика, и не признание данного факта, просто способ упрощения физической картины мира конкретного человека.  
А система образования с советских времён у нас только название поменяла, но не суть. И те слова которые я привёл - это высказывание тов. Гришина  когда он приехал к нам в институт и нас на пятом курсе вместо штатной лекции по истории КПСС отправили по распоряжению Горкома партии на его доклад (хоть мы и были "вечерниками", но учебный план нам никто не отменял) "Нам не нужны инженеры в таком количестве - у нас в стране как минимум десятикратный их избыток, Государству нужны рабочие и колхозники с минимальным образованием, достаточным для того, что бы они работали на полях и у станка. А для этого им и восьми классов за глаза хватит. Не зачем переплачивать за их образование, и тратить на это те годы когда человек способен работать производя товарную продукцию. Лучше мы поставим к станкам сто рабочих, и продукцию семидесяти из них выбросим на "свалку", чем заплатим десяти инженерам за ту работу которую они будут делать несколько лет, если для производства этого изделия нам потребуются рабочие экстра класса - для государства такие рабочие слишком дорого обходятся. А вот ту продукцию, которая продаётся на мировом рынке и приносит государству валюту должны делать лучшие рабочие и инженеры за минимальную зарплату для того чтобы она была такой качественной  и при этом дешёвой, чтобы у наших конкурентов не было шансов, даже мизерных продать свой товар. Это объективные законы экономики, и отменить их никто не сможет - иначе мы просто разоримся окончательно, нам и так армия стоит в "копеечку", как и "дружественные" страны - мы их содержим, кормим и вооружаем - иначе эти режимы просто разбегутся, а где нам брать дешёвое природное сырьё и куда сплавлять наш производственный брак?..." - в своё время "хозяина" Москвы и не последнего лица Советского государства (де-факто он был третьим лицом в государстве). А он в свою очередь цитировал Брежнева. Просто мне это очень хорошо запомнилось - хоть и говорили что мол в ЦК сидят "маразматики", а эти люди умели "....свою линию гнуть, да так что никто и не пикнул.." (В. Высоцкий)... Просто многие молодые (по житейскому опыту, да и возрасту) люди считают, что всё можно изменить быстро, да вот беда-то - История штука слишком инертная, а быстро только лозунги вешаются.

Отправлено: 10:16 04-04-2008 | Исправлено: Victor_VG, 10:21 04-04-2008
Alex_Dragon



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG, текст этого доклада был где-то опубликован или это только пересказ по памяти? Дабы не оффтопить, напишите в личку или куда ещё.

Всего записей: 368 | Зарегистр. 05-01-2002 | Отправлено: 11:32 04-04-2008
LeaF_AVF



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

Код:
SET PathWget=%ProgramFiles%\wget
SET PathZip=E:\Open\Update\DrWeb\zip
SET PathBases=E:\Open\Update\DrWeb
 
SET FTPDrweb=ftp://87.242.72.150/pub/drweb/bases/  
SET LogWget="C:\Program Files\nnCron\logs\wget.log"
 
"%PathWget%\wget.exe" --passive-ftp --no-directories --timestamping --recursive --level=0 --accept=zip --output-file=%LogWget% %FTPDrweb% -P%PathZip%

Всего записей: 275 | Зарегистр. 01-01-2007 | Отправлено: 12:40 04-04-2008
popkov

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

Цитата:
Любой реальный канал связи какой ни возьми это канал связи с помехами.

Совсем не обязательно столько раз это повторять. Похоже, на этом твоё понимание и заканчивается. Никакой связи с BITS я не вижу. Скорее всего, её и вовсе нет.
Впрочем, этот оффтопик мне уже надоел. Много текста, мало содержания! Сентенция про слова Гришина тоже не многово стоит без отсылки к документальным источникам. Слава богу, в СССР инженеров грамотных готовить умели! На этом всё и держалось... но оффтоп пора заканчивать!

Всего записей: 1780 | Зарегистр. 22-03-2003 | Отправлено: 16:51 04-04-2008
JekaRus

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
LeaF_AVF
Твой батник качает напрямую. А я говорю про качание через прокси. Обычные http ссылки качаются нормально. А вот ftp не качаются совсем даже в последней версии 1.11. Может в следующей версии ждать исправления.

Всего записей: 977 | Зарегистр. 10-08-2005 | Отправлено: 17:09 04-04-2008
igor_andreev

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

Цитата:
Может в следующей версии ждать исправления.

Исправления чего? Нормально wget качает с ftp через прокси.
wget -e "ftp_proxy=127.0.0.1:8080" -e "use_proxy=on" (или -Y on) url

Всего записей: 1595 | Зарегистр. 08-12-2004 | Отправлено: 18:18 04-04-2008
Aeismann



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

Цитата:
Любой реальный канал связи какой ни возьми это канал связи с помехами. Мы от этого никуда не денемся, и описывают его жёсткие законы теории вероятностей. Это банальная физика, и не признание данного факта, просто способ упрощения физической картины мира конкретного человека

Да это понятно! Однако же, емнип, каждый уровень модели OSI заточен под нахождение битых пакетов. Каждый уровень добавляет в пакет свою контрольную сумму, и битые пакеты дальше не пускают. На мой взгляд, такой многоступенчатой проверки достаточно... тем более что никакая виндовая служба не позволит опуститься ниже уровня драйвера.
 
P.S. Изречения Гришина весьма интересны, и в общем-то не лишены смысла. Однако не зря наше образование до сих пор считается лучшим, хотя сейчас это только развалины советсткого. Всё-таки в целом учили не только тому, как начертить штуцер.

Всего записей: 174 | Зарегистр. 24-10-2006 | Отправлено: 23:00 06-04-2008
iglezz

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

Цитата:
попробуйте ещё вот эту сборку wget 1.11 (использовался Borland C++ 5.5):  
http://rapidshare.com/files/104180577/wget_borlandcc.gz

можно перезалить?
 
Беда у меня с wget`ом...
Периодически скачав очередной файл он тупо стоит, задерживая очередь (по команде wget -i links.txt)
Этим страдают версии 1.10.2 (скачана здесь) и версия 1.9.1, которая идет в составе Jigdo (что вынудило меня отказаться от использования этой программы)

Всего записей: 573 | Зарегистр. 18-02-2003 | Отправлено: 00:03 07-04-2008 | Исправлено: iglezz, 00:04 07-04-2008
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iglezz
http://www.rapidshare.ru/640577

Цитата:
Периодически скачав очередной файл он тупо стоит, задерживая очередь (по команде wget -i links.txt)  

Тоже "ловил" несколько раз 1.10.2 на этом, только закономерность выявить не удалось, так и не понял, из-за чего

Всего записей: 1595 | Зарегистр. 08-12-2004 | Отправлено: 00:56 07-04-2008
iglezz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev
спасибо..
 
баг с этой заморозкой  ловлю регулярно, т.к. скачиваю много чего мелкого.

Всего записей: 573 | Зарегистр. 18-02-2003 | Отправлено: 01:02 07-04-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

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

Сохранено: 09.06.2016 19:40:36 (c) xForumSaver