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



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

Цитата:
создай текстовый файл со списком страниц
http://www.liveinternet.ru/users/ХХХХХХХ/page ххх.shtml
и пусть Wget качает с этого списка

OK. Спасибо!

Всего записей: 588 | Зарегистр. 03-12-2007 | Отправлено: 00:54 27-04-2010 | Исправлено: Petrik_Pjatochkin, 01:48 27-04-2010
kilserg



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

Всего записей: 12 | Зарегистр. 20-10-2009 | Отправлено: 16:06 28-04-2010 | Исправлено: kilserg, 16:12 28-04-2010
zador5551

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
Подскажите пожалуйста, как мне проделать это: мне необходимо получить ссылки на deb пакеты обновлений linux, с сервера http://archive.ubuntu.com/, значит там около пяти уровней просмотра (может больше). В итоге необходимо получить file.log, в котором будут содержатся ссылки на все файлы с расширением .deb
Например:
http://ftp.byfly.by/pub/ubuntu/pool/main/a/avahi/avahi-utils_0.6.23-2ubuntu2.1_amd64.deb
http://ftp.byfly.by/pub/ubuntu/pool/main/a/avahi/avahi-utils_0.6.23-2ubuntu2.1_i386.deb
http://ftp.byfly.by/pub/ubuntu/pool/main/a/avahi/avahi-utils_0.6.23-2ubuntu2_amd64.deb
http://ftp.byfly.by/pub/ubuntu/pool/main/a/avahi/avahi-utils_0.6.23-2ubuntu2_i386.deb
http://ftp.byfly.by/pub/ubuntu/pool/main/a/avahi/avahi-utils_0.6.23-4ubuntu4_amd64.deb
http://ftp.byfly.by/pub/ubuntu/pool/main/a/avahi/avahi-utils_0.6.23-4ubuntu4_i386.deb
Спасибо.

Всего записей: 2 | Зарегистр. 14-05-2009 | Отправлено: 11:04 29-04-2010
iglezz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zador5551
Для каких целей это требуется?
Просто есть способы попроще, например

Код:
$ wget http://archive.ubuntu.com/ubuntu/dists/lucid/main/binary-i386/Packages.bz2

Затем
Код:
$ bzcat Packages.bz2 | grep '^Filename:' | sed 's/Filename: /http:\/\/archive.ubuntu.com\/ubuntu\//'

выдаст список типа  

Код:
 
http://archive.ubuntu.com/ubuntu/pool/main/a/acct/acct_6.5.1-1ubuntu1_i386.deb
http://archive.ubuntu.com/ubuntu/pool/main/a/acl/acl_2.2.49-2_i386.deb
http://archive.ubuntu.com/ubuntu/pool/main/a/acpi-support/acpi-support_0.136_i386.deb
...
http://archive.ubuntu.com/ubuntu/pool/main/z/zsh/zsh-dbg_4.3.10-5ubuntu3_i386.deb
http://archive.ubuntu.com/ubuntu/pool/main/z/zsh/zsh-dev_4.3.10-5ubuntu3_i386.deb
http://archive.ubuntu.com/ubuntu/pool/main/z/zsh/zsh-doc_4.3.10-5ubuntu3_all.deb
 

 
P.S.
Если интересуют подробности, пиши в приват

Всего записей: 573 | Зарегистр. 18-02-2003 | Отправлено: 13:54 29-04-2010 | Исправлено: iglezz, 13:56 29-04-2010
zador5551

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iglezz, большое Вам Спасибо, это как раз то что нужно. Дело всё в том, что у меня нет возможности, на работе, скачать репозиторий, а по отдельности пакетами качать, как раз получается, админы ограничивают. Я всё думал как мне все ссылки получить, а оно вот как всё гениально просто. Ещё раз Вам Спасибо !  

Всего записей: 2 | Зарегистр. 14-05-2009 | Отправлено: 18:25 29-04-2010
kilserg



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

Цитата:
А кто-нибудь вложения из почты мэйл.ру качает вгетом?
Дайте плиз для примера строку вызова вгета со всеми параметрами, которая скачала вложение оттуда.
У меня или ошибка 400 или скачивает саму страницу, а не вложение.

 
Все еще актуальный вопрос. Нашел на просторах интернета похожую ситуацию с download master'ом, когда он качал вложения с mail.ru как страницу html, с которой производилась скачка. Один из разработчиков DM сказал, что не передаются cookie.
Но я в вгет и файл с печеньками и в --header строку с ними указываю.
 
Уже поставил и Live HTTP headers, чтобы посмотреть, что в --post надо передавать.
Все безрезультатно.
 
Помощи прошу, потому что имею только поверхностное представление о механизме работы этого всего и сам не могу определить причину.

Всего записей: 12 | Зарегистр. 20-10-2009 | Отправлено: 16:01 30-04-2010
Lokryst



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
День добрый!
 
Прошу разъяснить мне, как заставить wget качать со следующим критерием:
есть сайт на котором регулярно обновляется программа для бухов
все выкладывается на http://portal.nalog.by/juridical/arm-software/
имя файла выглядит следующим образом EDeclaration_v2.?.?_Setup_(Include_JRE).exe
 
пробовал многими методами, но страница почему то не выдает wget прямой линк
 
вот как я пытался, один из наиболее адекватных вариантов:
-rHRexe,"EDeclaration_v2.?.?_Setup_(Include_JRE)*" http://portal.nalog.by/juridical/arm-software/
 
инсталлятор лежит http://www.nalog.by/docs/mns_uit/PO/*.exe
однако wget его не подхватывает...при рекурсивной скачке всего сайта с критерием качать только exe тоже почему то в этот каталог не влезает.
 
 
P.S. Решил так:
 
portal.nalog.by/juridical/arm-software/
-Rexe -N --force-html --base=URL -iindex.html
 
почему-то в варианте
-Rexe -N --force-html --base=URL -iportal.nalog.by/juridical/arm-software
не работает

Всего записей: 139 | Зарегистр. 24-01-2008 | Отправлено: 14:31 28-07-2010 | Исправлено: Lokryst, 15:57 28-07-2010
RebelNeo

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Камрады, кстати, кто подскажет, как должна выглядет эта строка  
http://beta.drweb.com/files/?p=esuite%2Fkey%2Fagent.key&lng=ru&t=f  
для скачки ключа wget? - через браузер все ок, а wget качает страницу регистрации

Всего записей: 656 | Зарегистр. 15-01-2007 | Отправлено: 16:54 16-08-2010
igor_andreev

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

Код:

@echo off
if exist drweb32.key.bak del drweb32.key.bak
if exist drweb32.key ren drweb32.key drweb32.key.bak  
 
wget --save-cookies "%temp%\drweb-cookies.txt" "http://beta.drweb.com/files/?unreg=t" -O -
wget --load-cookies "%temp%\drweb-cookies.txt"  -O drweb32.key "http://beta.drweb.com/files/?p=esuite%%2Fkey%%2Fagent.key&lng=ru&t=f"
 

Или там в Enterprise drweb32.key по другому называется? Я не в курсе, у меня нет такого доктора. Напиши сам вместо drweb32.key что нужно, agent.key или что там...

Всего записей: 1595 | Зарегистр. 08-12-2004 | Отправлено: 20:47 16-08-2010 | Исправлено: igor_andreev, 21:20 16-08-2010
older

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

Всего записей: 231 | Зарегистр. 15-02-2003 | Отправлено: 10:15 17-08-2010
Nekt

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Continued download failed on this file, which conflicts with `-c'.
кто знает в чем причина?  
wget.exe -t10 -c -r --no-parent -P С:\Temp\ http://login:passwd@site
при скачивание html, далее не продвинулся.

Всего записей: 605 | Зарегистр. 24-01-2006 | Отправлено: 00:34 28-08-2010 | Исправлено: Nekt, 00:43 28-08-2010
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
@Nekt
С wget 1.11.4 эта строка работает нормально, единственное что - проверьте кодировку. Вроде в  "С:\Temp\" С-русское а не латинское.  
Вряд ли что-то с сайтом - тогда он просто на "-с" не обращает внимание.  
На 1.12.1 проверить не могу - Win98.

Всего записей: 1537 | Зарегистр. 07-08-2002 | Отправлено: 09:32 13-09-2010
Victor_VG

Редактировать | Цитировать | Сообщить модератору
Подновил версию в шапке - текущий вариант - wget-1.12.1-devel-and-openssl-1.0.0a

Отправлено: 14:21 13-09-2010
sis_terr



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
мальчишки, никак не удается залогиниться на сайте
в батнике написала как в мануале дано http://user:[email protected]
все равно скачивается индексная страничка без авторизации и в закрытый док не пукает

Всего записей: 1271 | Зарегистр. 20-12-2007 | Отправлено: 15:41 18-09-2010
Victor_VG

Редактировать | Цитировать | Сообщить модератору
sis_terr
 
А там и не пустят - только браузер, и то сначала надо именно им логинится - местные админы такие скрипты написали когда их копирасты достали.

Отправлено: 15:48 18-09-2010
sis_terr



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Victor_VG
да залогинилась я там, и к доку подключена, все равно чет не хватает в батнике

Всего записей: 1271 | Зарегистр. 20-12-2007 | Отправлено: 16:09 18-09-2010
Victor_VG

Редактировать | Цитировать | Сообщить модератору
sis_terr
 
А смысл этого батника? Страницы скачать со скриптами? Тут проще любой оффлайн-браузер применить, а для вгета эта не главная работа. Я считаю, что смысла в такой реализации нет...

Отправлено: 16:19 18-09-2010
sis_terr



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
есть раздел с большим количеством выкладываемых фотографий, вот я их и скачивала не заходя

Всего записей: 1271 | Зарегистр. 20-12-2007 | Отправлено: 16:23 18-09-2010
Victor_VG

Редактировать | Цитировать | Сообщить модератору
sis_terr
 
Тогда лучше всего Метапродукт ОЕ - и скачает, и разложит потом по полочкам, и скрипты обойдёт. Там и планировщик есть, можно сказать сколь часто оттуда фотографии тянуть, и всё что такому аппарату от Господа Бога положено.

Отправлено: 16:32 18-09-2010
sis_terr



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
да за стока лет так к Wget-у привыкла, очень удобная вещь для меня,  
а это ни ценой, ни размером не устраивает, да еще вря ли на Вин98 будет работать
Все таки хочется эту задачу Wget-ом решить

Всего записей: 1271 | Зарегистр. 20-12-2007 | Отправлено: 16:35 18-09-2010 | Исправлено: sis_terr, 13:22 19-09-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 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:42:43 (c) xForumSaver