Страница 27 / 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
stazher

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

Код:
wget --header="Range: bytes=1024-2048"

(скачка части файла с такого-то по такой-то байт) или как правильно?
У меня пишет  
HTTP request sent, awaiting responce... 206 Partial Content
Retrying

Всего записей: 96 | Зарегистр. 16-03-2006 | Отправлено: 13:32 18-06-2008
Maza Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Привет всем!
Не подскажете как справиться с ссылкой такого вида "http://game.chirkom.uz/modules/newbb/dl_attachment.php?attachid=1205910041&post_id=65690" файл сохраняется с таким именем dl_attachment.php@attachid=1205910041&post_id=65690, а если качать скажем Оперой, то сохраняется правильно avz.rar

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 12:22 25-06-2008
Victor_VG

Редактировать | Цитировать | Сообщить модератору
Maza Faka
 
Насколько помню в списке команд есть команды переименования. Но в крайнем случае используй батник. Команда rename (ren) знакома? Кто мешает ей воспользоваться? Первопричина проблемы в PHP скрипте - он не отдал имя файла. С иных серверов и более мощные качалки (например Download Master) могут скачать файл с неправильным именем. Сам получал файлы c именами например pf-driver-567.exe как download.asp. Тут приходится качалке вручную указывать имя файла если оно не передано ей сервером.

Отправлено: 15:55 25-06-2008
RER1

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А через ISA как WGET пропустить?

Всего записей: 82 | Зарегистр. 07-08-2006 | Отправлено: 09:16 26-06-2008
slech



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
всем привет. не подскажете, можно ли с помощью Wget закачать файл на FTP сервер ?
или для этого всё же Wput использовать ?
 
спасибо.

Всего записей: 4821 | Зарегистр. 10-11-2004 | Отправлено: 15:41 19-07-2008 | Исправлено: slech, 18:45 19-07-2008
Victor_VG

Редактировать | Цитировать | Сообщить модератору
slech
 
По моему нельзя. Я использую FileZilla.

Отправлено: 16:13 19-07-2008
slech



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

Всего записей: 4821 | Зарегистр. 10-11-2004 | Отправлено: 19:36 19-07-2008
NoAngel777



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Wget 1.11.4 (MSVC 2008 static build,OpenSSL 0.9.8h): http://rapidshare.com/files/133336155/wgetssl_1.11.4_msvc2008_o1mt_20080729.zip

Всего записей: 2521 | Зарегистр. 04-04-2006 | Отправлено: 17:37 29-07-2008
BakLAN



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

Цитата:
MSVC 2008

Спасибо конечно, но не люблю я эти майкрософтовские приблуды. Компилю MinGW под свой проц.

Всего записей: 2788 | Зарегистр. 15-12-2003 | Отправлено: 23:46 29-07-2008
winhex



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли реализовать такое - запускаем wget, он начинает качать файл, после загрузки определенного объема загрузка приостанавливается,  при следующем запуске wget загрузка продолжается и так до тех пор, пока весь файл не будет загружен.


----------
А сегодня что для завтра сделал я ?..

Всего записей: 619 | Зарегистр. 27-02-2005 | Отправлено: 14:33 27-08-2008
euhome

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уже два раза сталкиваюсь со следующей ситуацией. Качаю Wget'ом с опцией -с файл 8 ГБ с Letitbit'a. Примерно на 60% закачка обрывается по независящим от Wget'а причинам - бывает. Я получаю с Letitbit'a новую ссылку и скармливаю её Wget'у. Он резво берется докачивать. При этом индикатор показывает увеличивающийся размер скачиваемого файла, канал загружается, т.е. закачка реально идет. Но на диске файл на самом деле не изменяется! В первый раз я честно дотерпел до конца закачки. Wget бодро отрапортовал об успешном окончании закачки, но файл остался с тем же размером, что и перед последним стартом Wget'а. Во второй раз, "скачав" таким образом ещё один "гигабайт",  я уже не стал дожидаться окончания этой комедии.
 
Может, Wget не в состоянии дописывать файлы большого объема?

Всего записей: 31 | Зарегистр. 29-11-2007 | Отправлено: 12:04 02-09-2008
sinakxz



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

Цитата:
euhome

А интересно, файл сохраняется на NTFS или FAT32?
Вопрос может быть ответом...

Всего записей: 95 | Зарегистр. 08-05-2008 | Отправлено: 12:23 02-09-2008
euhome

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NTFS, естественно.
 
Между описанными неудачными попытками мне удалось-таки скачать 8 ГБ файл с Letitbit'a за один присест. При этом тоже были обрывы, но внутри одного запуска - Wget сам справлялся (retry).
К сожалению, нет возможности понаблюдать, на каком размере начинается глюк. Но в обоих описанных выше случаях остались файлы не менее 5 ГБ.

Всего записей: 31 | Зарегистр. 29-11-2007 | Отправлено: 12:48 02-09-2008
euhome

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Попробовал версию 1.11.4b (та, что в заголовке) вместо использовавшейся ранее 1.10.2 - закачка продолжилась, размер файла увеличивается. Пока полет нормальный

Всего записей: 31 | Зарегистр. 29-11-2007 | Отправлено: 18:10 04-09-2008
sis_terr



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Мальчишки подскажите как с помощью Wget качать по такой ссылке:
http://www.adrive.com/public/ba36a61aa614e8974a607596e2e464421449dbccdd88ae961022f41232324c11.html
Тестовый файл html 10 кб
 

Всего записей: 1271 | Зарегистр. 20-12-2007 | Отправлено: 15:32 19-09-2008 | Исправлено: sis_terr, 16:13 19-09-2008
Victor_VG

Редактировать | Цитировать | Сообщить модератору
sis_terr
 
Там редирект. Файл кинул в ПМ. Воспользовался возможностями FreeBSD + Lynx. С ним нет особых проблем.

Отправлено: 16:43 19-09-2008 | Исправлено: Victor_VG, 16:45 19-09-2008
juvaforza

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

Цитата:
Файл кинул в ПМ

Мне кажется, что вы не совсем верно поняли вопрос...

Всего записей: 2881 | Зарегистр. 25-11-2005 | Отправлено: 19:54 19-09-2008
sis_terr



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Victor_VG
Тестовый файл сама написала и залила туда, это список музыки в lossless, около 100 GB,
которую собираю там при помощи RapidGet с разных Рапид и других шар.
В силу разных причин, да и удобства ради, хочется качать автоматом, набив ссылки в список
 

Всего записей: 1271 | Зарегистр. 20-12-2007 | Отправлено: 21:53 19-09-2008
Victor_VG

Редактировать | Цитировать | Сообщить модератору
sis_terr
 
Предполагал. Wget редирект не взял. Была просьба помочь, Я сделал что смог на тот момент времени. Sorry...

Отправлено: 22:04 19-09-2008 | Исправлено: Victor_VG, 22:05 19-09-2008
sis_terr



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вот и я на редиректе тормознулась, даже через oGet не качает

Всего записей: 1271 | Зарегистр. 20-12-2007 | Отправлено: 12:12 20-09-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:41:05 (c) xForumSaver