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



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
подскажите пожалуйста,
указываю в батнике путь для скаченных файлов F:\_Сортировка\Сборка
а он создаёт на диске вот такой путь F:\_TюЁЄшЁютър\TсюЁър
как правильно записать путь?

Всего записей: 1271 | Зарегистр. 20-12-2007 | Отправлено: 22:45 05-08-2011
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex_Piggy
> С gnuwin32 точно не берите. Там все с cygwin зачем-то.  
ЩИТО? На gnuwin32 именно что сборки без цигвиновских зависимостей.
 
Victor_VG
> POSIX. CygWin ведь его эмулятор.
Ничего подобного! Не пугайте народ всякими «эмуляторами». Цигвин — ни в коем случае не эмулятор, и даже не костыль типа Вайна. Это набор нативно собранных под Винду гнушных (а не позиксных) программ и библиотек.
Цигвин можно, нужно и очень удобно использовать.
 
vitrzn
> Шутники - мля
Никаких шуток.
 
> куда капнуть
Масла? :-)

 
> что политику на фтп определяет админ и он может запретить WGET
Не может. Протокол FTP, в отличие от HTTP, передачу информации о юзер-агенте не предусматривает.
 
> на оба ФТП
Оба эти FTP, как я понял, из Интернета не доступны?
 
> а WGET не может с одного качать даже прямо указанный файл
Т.е. так и говорит «прости меня, я не могу :-(»?
 
Добавлено:
sis_terr
А причем здесь сабж? Проблема, скорее всего, в несоответствии кодировки файла скрипта и локали коминтерпретатора. Т.е. это вы указали именно «F:\_TюЁЄшЁютър\TсюЁър». Афайк, дефолтная кодировка локали в виндовом коминтерпретаторе — CP866, в ней и следует сохранять батник.
Если что-то непонятно, то обращайтесь уже в тему по по вашей оболочке.

----------
Спроси, где спросить!

Всего записей: 8468 | Зарегистр. 11-05-2005 | Отправлено: 23:02 05-08-2011 | Исправлено: ASE_DAG, 23:47 05-08-2011
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день, sis_terr
Проверьте, в какой кодовой таблице Вы создаете. Стандартная для  Windows - CP1251, но для файловой системы используется CP866. В чем Вы редактируете батник? ("блокнот"( не позволяет менять кодировку), "бред" рулит(меню кодировки), фар (Shift-F8 > "dos text"), Notepad++ (Encoding>Char Set> Cyrillic> OEM 866), msoffice (сохранитрь как обычный текст, кодировка MS-DOS), etc)
Можете ли использовать "iconv -f CP1251 -t CP866 1.bat >2.bat"?
Добавлено:
ASE_DAG, all
Действительно, на gnuwin32 лишних зависимостей нет. Прошу прощения, что ввел в заблуждение.
PS Интересно, а с чем я таки перепутал???

Всего записей: 1537 | Зарегистр. 07-08-2002 | Отправлено: 23:11 05-08-2011 | Исправлено: Alex_Piggy, 23:20 05-08-2011
Victor_VG

Редактировать | Цитировать | Сообщить модератору
ASE_DAG
 
Ну, если совсем строго говорить, то мы должны просто процитировать cygwin.org и согласится, что оба не точно выразились:

Цитата:
Cygwin is:
 
    a collection of tools which provide a Linux look and feel environment for Windows.
 
    a DLL (cygwin1.dll) which acts as a Linux API layer providing substantial Linux API functionality.  

vitrzn
 
Да какие тут шутки! Просто админ на сервере может выставить бан на определённые IP и этого Вам хватит. Или ограничить количество соединений с одного IP. Сам обычно так и делаю - "1 гость - 1 коннект, скорость до 50 Кбит/с". И на многих FTP клиентах Вы на такой сервер просто не войдёте - у них как минимум пара соединений используется - одно командное, второе данные. Шутка старая как мир - вроде соединение есть, но по 20-у порту, а по 21 сервер выставляет отказ - лимит соединений. И вообще-то Wget это HTTP, а не FTP клиент в основном, и такое фортеля хитрых админов знать не обязан.

Отправлено: 00:49 06-08-2011 | Исправлено: Victor_VG, 00:56 06-08-2011
sis_terr



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ASE_DAG, Alex_Piggy, благодарю за помощь    
да, я догадывалась что проблема в кодировке, но методом тыка не удалось попасть в нужную, )) а что надо CP866 - забыла, совсем от DOS-а отбилась, пути латиницей и в ANSI нормально воспринимаются
Пользуюсь Notepad2

Всего записей: 1271 | Зарегистр. 20-12-2007 | Отправлено: 17:09 06-08-2011
bugmenot121



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wget http://ardownload.adobe.com/pub/adobe/reader/win/10.x/10.1.0/en_US/AdbeRdr1010_en_US.exe
вопрос   вопрос как сохранить файл, например на d диске  по умолчанию качает в фолдере где wget.

Всего записей: 602 | Зарегистр. 25-10-2010 | Отправлено: 17:39 06-08-2011
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день, bugmenot121
Или "-P"(--directory-prefix=) (все скачаные файлы сохранять в указанной директории) wget -c -P D:\TEMP http://....  
Или "-O"(--output-document=) (всю скачанную информацию сохранять в указанном файле) wget -c -O D:\TEMP\acrobat.exe http://...

Всего записей: 1537 | Зарегистр. 07-08-2002 | Отправлено: 18:07 06-08-2011 | Исправлено: Alex_Piggy, 18:10 06-08-2011
bugmenot121



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
День добрый  и вам Alex_Piggy  
wget -c -P D:\ ardownload.adobe.com/pub/adobe/reader/win/10.x/10.1.0/en_US/AdbeRdr1010_en_US.exe
 то что было нужно  спасибо вам

Всего записей: 602 | Зарегистр. 25-10-2010 | Отправлено: 18:18 06-08-2011
bugmenot121



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вопрос к спецам  можно ли докачать файл  не с начала, а с момента разрыва связи .
 
wget ftp://109.108.65.7/DATA05/Avatar_Creating_the_World_of_Pandora_720p.mkv
комп вдруг ребутнулся  или интернет отключился на 15%
и когда набираю команду wget ftp://109.108.65.7/DATA05/Avatar_Creating_the_World_of_Pandora_720p.mkv
wget качает сначала, а не с места разрыва  Avatar_Creating_the_World_of_Pandora_720p.mkv.1
можно как нибудь принудить скачать с  15%-a?
надеюсь понятно объяснил  
 

Всего записей: 602 | Зарегистр. 25-10-2010 | Отправлено: 14:28 08-08-2011
Pasha_ZZZ



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
bugmenot121
wget -c ftp://109.108.65.7/DATA05/Avatar_Creating_the_World_of_Pandora_720p.mkv

Всего записей: 3758 | Зарегистр. 11-03-2002 | Отправлено: 14:47 08-08-2011
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день, bugmenot121
Если -c(--continue) не помогает, то, скорее всего, сервер не поддерживает докачку.
Попробуйте
wget -с ftp://109.108.65.7/DATA05/Avatar_Creating_the_World_of_Pandora_720p.mkv
Только не уверен, как себя поведет, если уже есть подкачанные кусочки *.1, *.2. Лучше их перенести в другую папку, затем удалить.
Добавлено: Sorry, медленно отвечал и не проверил перед отправкой.

Всего записей: 1537 | Зарегистр. 07-08-2002 | Отправлено: 14:51 08-08-2011 | Исправлено: Alex_Piggy, 15:01 08-08-2011
Victor_VG

Редактировать | Цитировать | Сообщить модератору
Alex_Piggy
 
Там сервер запорелен. Нет пароля - пойди погуляй.

Отправлено: 15:08 08-08-2011 | Исправлено: Victor_VG, 15:17 08-08-2011
bugmenot121



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wget -c ftp://www.buka.ru/AVATAR_trailer_720p_Full.wmv
помогло спасибо всем  
p.s поддерживает ipv6?

Всего записей: 602 | Зарегистр. 25-10-2010 | Отправлено: 15:22 08-08-2011 | Исправлено: bugmenot121, 15:30 08-08-2011
Victor_VG

Редактировать | Цитировать | Сообщить модератору
bugmenot121
 
Я с ftp://109.108.65.7/ сейчас FileZilla и curl-ом под демонёнком кое-что качал - из 78 файлов с трудом 19 забрал. Сервер не настроен совершенно. В лог ошибок за полчаса работы с ним прилетело "всего" около 5000 ошибок этого сервера. Тут или или - или это специально сделано, или он настроен "на скорую руку". Выяснять не собираюсь - времени жалко. Если BSD UNIX сообщает об ошибках сервера - то значит они действительно имеют место.
 
И вот ещё одно доказательство моей оценки:
 
команда cwd отрабатывается очень "оригинально":
 
 chwd ../ -> ftp://109.108.65.7/../ вместо ftp://109.108.65.7/
 chwd ../ -> ftp://109.108.65.7/../../
 chwd ../ -> ftp://109.108.65.7/../../../
 ...
 chwd ../ -> ftp://109.108.65.7/../../ ../../
 ...
 chwd ../ -> ftp://109.108.65.7/../../../../../../../../.../../../../
 
нормально настроенный ftp демон выдаст  chwd ../ -> ftp://109.108.65.7/ и больше ничего вне зависимости от количества введённых команд cwd/chwd/cd согласно спецификации протокола FTP. А этот явно криворукий админ настраивал. И "настроил".
 

Отправлено: 16:47 08-08-2011 | Исправлено: Victor_VG, 16:59 08-08-2011
bugmenot121



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
это не мой сервер, нашел через поисковик.
кстати почему у curl нет темы  здесь  ?
 

Всего записей: 602 | Зарегистр. 25-10-2010 | Отправлено: 16:59 08-08-2011
Victor_VG

Редактировать | Цитировать | Сообщить модератору
bugmenot121
 
Насчёт темы не скажу, но коли curl отдельно нужен, то бинарники у Дирка брал, ссылка выше, или в плагине Far NetBox для Far Manager 2/3 (для 3-ки покуда не ищи - я собирал 1.140-dev? но мы вместе с автором убедились в наличии ошибок и убрали вариант для Far 3 до завершения доводки самого Far 3 - там сейчас сам API ещё не определён, точнее его "глобально ломают", а потому возится Мише с кодом, а мне с тестированием ещё рано), но вариант плагина для Far 2.0 прекрасно работает через враппер в 3.0 и есть например в моих сборках. Сейчас перед отъездом кину последнюю с NetBox 1.18-dev GIT Rev 145. Будет в теме по Far Manager.

Отправлено: 17:07 08-08-2011 | Исправлено: Victor_VG, 17:08 08-08-2011
bugmenot121



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
окей спасибо. жду в теме фар  

Всего записей: 602 | Зарегистр. 25-10-2010 | Отправлено: 17:20 08-08-2011
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bugmenot121
> поддерживает ipv6?
Сабж? Да.

----------
Спроси, где спросить!

Всего записей: 8468 | Зарегистр. 11-05-2005 | Отправлено: 07:02 09-08-2011
sis_terr



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
страничка сайта , Опера в режиме - только кешированные изображения
Wget , прикрученный к Опере почему то не хочет качать  с вот такой, примерно ссылки
http://www.eco-live.com.ua/sites/default/files/imagecache/interest_full/03_Keith_Szafranski_BaldEagle.jpg
 в логе пишет ошибку 503
на других сайтах подобного не случалось.  
В чём проблема?

Всего записей: 1271 | Зарегистр. 20-12-2007 | Отправлено: 17:19 09-08-2011 | Исправлено: sis_terr, 17:20 09-08-2011
bugmenot121



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

Цитата:
 
страничка сайта  , Опера в режиме - только кешированные изображения  
Wget , прикрученный к Опере почему то не хочет качать  с вот такой, примерно ссылки  
http://www.eco-live.com.ua/sites/default/files/imagecache/interest_full/03_Keith_Szafranski_BaldEagle.jpg  
  в логе пишет ошибку 503  
 на других сайтах подобного не случалось.  
 В чём проблема?

я попробовал, у меня тоже самое.

Всего записей: 602 | Зарегистр. 25-10-2010 | Отправлено: 17:28 09-08-2011
Открыть новую тему     Написать ответ в эту тему

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