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

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день, sis_terr
Этот сайт требует указанного --user-agent. Причем любой, главное чтобы это поле было заполнено.
Попробуйте  

Код:
wget -c --user-agent="Opera/9.80 (Windows NT 6.0; U)" http://www.eco-live.com.ua/sites/default/files/imagecache/interest_full/03_Keith_Szafranski_BaldEagle.jpg

или добавьте
Код:
user_agent="Opera/9.80 (Windows NT 6.0; U)"
в .wgetrc в папке wget

Всего записей: 1537 | Зарегистр. 07-08-2002 | Отправлено: 17:45 09-08-2011
sis_terr



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

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

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

В том же Notepad2 набираете текст, Save As, ".wgetrc", Тип файла - All.files(*.*).
Извращения

Всего записей: 1537 | Зарегистр. 07-08-2002 | Отправлено: 21:32 09-08-2011 | Исправлено: Alex_Piggy, 21:33 09-08-2011
sis_terr



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

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, а с scribd.com как-то можно качать? Аккаунта на facebook не имею и не предвидится. Вот примерно линк
http://www.scribd.com/doc/40354897/Svoboda-1972-120

Всего записей: 921 | Зарегистр. 27-11-2008 | Отправлено: 19:46 10-08-2011
mithridat1



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вышел Wget 1.13 - теперь заявлена поддержка HTTP/1.1
Кто нибудь уже пробовал собирать для Win32 ?

Всего записей: 3469 | Зарегистр. 05-01-2006 | Отправлено: 08:09 16-08-2011
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день
mithridat1, спасибо, что сказали. Действительно, 6 9 августа вышел Wget 1.13.
На wget.addictivecode.org тишина. Кстати, а откуда Вы узнали?
Wget 1.13 для Win32
К сожалению, пока не выправил все глюки configure/makefile.in (SED глючит и их надо править вручную), поэтому возможны ошибки. В случае возникновения оных прошу сообщить.
Добавлено
PS. Сегодня выпустили 1.13.1 (по умолчанию GNUTLS вместо OpenSSL).

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



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

Цитата:
Подскажите, а с scribd.com как-то можно качать? Аккаунта на facebook не имею и не предвидится. Вот примерно линк  
http://www.scribd.com/doc/40354897/Svoboda-1972-120

 
http://unextupload.com/download_folder/113862
вопрос есть ли что то типа scheduler?
объясняю  
ftp://movie.com/movie.avi
ftp://movie.com/movie1.avi
ftp://movie1.com/movie.avi
ftp://movie.com/movie0.avi
blabla
 
есть список линков  
можно ли организовать такое, чтобы wget включался при включения компьютера , качал файлы из списка и если комп стартовали  или интернет отключили при загрузке какого нибудь файла ,при включении компа/internet он проверял и качал все файлы из списка.

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

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день, bugmenot121
На самом деле  это три задачи
1) Планировщика в Wget нет.  
а)Можно использовать любой планировщик. И настроить на запуск одновременно с системой (лучше с отстрочкой на 5-10 мин для установления связи).
б) Использовать автозапуск + sleep.exe (задержка в N милисекунд, напр 600000).
2) Запуск Wget на группу файлов :
a)wget -c -b -i list.txt --a log.log
-c - с докачкой, -b - в фоновом режиме (скрытый), -i  ссылка на файл с списком для закачки.
В принципе он так и будет работать : сверяет размеры, если файл отсутствует или меньше, докачивает, если такой же, то игнорирует.
б)  

Код:
 
:restart_label
for /f %%i in (list2.txt) do (
wget -c %%i
if ERRORLEVEL 1 set restart=1
)
if %restart%==1 goto restart_label
 

3) Удаление завершенных закачек (если нужно)

Код:
 
:restart_label
copy /y list2.txt list2.tmp
for /f %%i in (list2.tmp) do (
wget -c %%i
if ERRORLEVEL 1 (SET restart=1) else (
ssed -i213 -u -e "\|%%i|d" list2.txt  
echo %%i >>downloaded2.txt)
)
if %restart%==1 goto restart_label
 

По очереди закачивает файлы из списка. Если закачано нормально, то перенести из общего списка в закачанные, если нет - вернутся к этому позже. ssed предпочтительнее sed, т.к правильнее работает с -i (не оставляет за собой временных файлов).

Всего записей: 1537 | Зарегистр. 07-08-2002 | Отправлено: 22:23 16-08-2011
mithridat1



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex_Piggy
Благодарю !
На опеннете была новость

Всего записей: 3469 | Зарегистр. 05-01-2006 | Отправлено: 22:48 16-08-2011
sikemo

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

Цитата:
http://unextupload.com/download_folder/113862  

это вы мне специально перезалили линк? Спасбо большое. Правда, меня инетресуют и другие материалы с этого scibd, а посему, и метод, каким можно извлечь оттуда pdf.
 
Добавлено:
вот, к примеру. http://www.scribd.com/doc/39190884/%D0%94%D0%BE%D0%B2%D1%96%D0%B4%D0%BD%D0%B8%D0%BA-%D1%88%D0%BA%D0%BE%D0%BB%D1%8F%D1%80%D0%B0-%D0%B7-%D1%96%D1%81%D1%82%D0%BE%D1%80%D1%96%D1%97

Всего записей: 921 | Зарегистр. 27-11-2008 | Отправлено: 23:08 16-08-2011
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый вечер, sikemo
Попробуйте через http://www.scribd.com/mobile/documents/doc_number/download
Составьте список желаемых документов (list.txt) в таком виде (CP866):

Код:
 
http://www.scribd.com/doc/40354897/Svoboda-1972-120
http://www.scribd.com/doc/24733157/Yamaha-T135-Owners-Manual
http://www.scribd.com/doc/39190884/Довідник-школяра-з-історії
 

И затем напустите на него wget

Код:
 
for /f "tokens=4,5 delims=/" %%i in (list.txt) do wget -c -O %%j http://www.scribd.com/mobile/documents/%%i/download
 

Закачку поддерживает, единственное что - теряются расширения, но думаю, с этим можно разобратся. Варианты - pdf, doc, txt.
 

Всего записей: 1537 | Зарегистр. 07-08-2002 | Отправлено: 01:24 17-08-2011
sikemo

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

Всего записей: 921 | Зарегистр. 27-11-2008 | Отправлено: 09:18 17-08-2011
Dasky



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
добрый...
подскажите как задать навечно свою папку для скачивания?
чтоб не надо было указывать wget -P c:\download http://...
а просто wget http://...
что-то затупил к ночи конкретно...
спс...

Всего записей: 1232 | Зарегистр. 08-03-2006 | Отправлено: 01:06 22-08-2011
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброй ночи, Dasky
Укажите в .wgetrc "dir_prefix = C:\download"
Только учтите, что в случае -O этот финт не работает и нужно указывать полный путь (в смысле, "-O file.ext" все равно сохранит в текущую папку, нужно "-O C:\download\file.ext").
 
Добавлено
2All
Что-то странное творится. С ftp.gnu.org/gnu/wget/ (и зеркал) сняли Wget 1.13.
Согласно www.linux.org.ru/forum/talks/6642712  его убрали из-за глючности.
 

Всего записей: 1537 | Зарегистр. 07-08-2002 | Отправлено: 05:54 22-08-2011 | Исправлено: Alex_Piggy, 17:59 22-08-2011
shveicar



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте, я новичёк, решил вот разобраться с Wget  скачал графическую оболочку, установил саму программу(wget-1.11.4-1-setup)- для win xp,  -WgetDaemon запускаю, ввожу настройки, но ничего не качается, Другая версия WinWGet_0.20beta скачивает только одну сраницу без стилей и графики, (- она на английском, я в нем не силен) Прошу, подскажите, как запустить WgetDaemon, что-бы он заработал. Спасибо.

Всего записей: 301 | Зарегистр. 26-09-2010 | Отправлено: 19:29 22-08-2011
mithridat1



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shveicar
Wget с графической оболочкой это извращение.Не проще ли найти другой менеджер загрузок с более "дружественным" для вас интерфейсом ?
 
WgetDaemon оболочка достаточно древняя и я очень сомневаюсь что будет корректно работать с современными версиями Wget.У меня и в далеком 2003-м так толком и не заработала Главная беда всех этих GUI это ограниченная поддержка многочисленных опций Wget.
 
Добавлено:
shveicar
А вообще,вам лучше тут спросить.

Всего записей: 3469 | Зарегистр. 05-01-2006 | Отправлено: 20:22 22-08-2011 | Исправлено: mithridat1, 20:49 22-08-2011
juvaforza

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1.13.1 появилась на фтп.
 
shveicar
Существуют, и в указанной выше теме обсуждались, имхо, только две адекватные и актуальные альтернативы для Win - VisualWGet и WackGet. Сайт первой программы уже, как минимум, месяц не доступен. Она единственная, относительно, поддерживает современные платформы, операционные системы и версии Wget, но она использует .NET технологию. Разработка второй, может быть, сейчас вновь возобновится.

Всего записей: 2881 | Зарегистр. 25-11-2005 | Отправлено: 22:35 22-08-2011
shveicar



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Спасибо за ответ. Но может, тогда вкратце объясните (на русском) как работать без графической оболочки. Для начала я установил сам Wget, (возможно есть версия без установки? - было-бы удобнее) далее что? запускаю  total commander - далее командная строка?, и набор определенных команд? Есть хотя-бы основы на русском языке,(создание директории проекта, общие правила)  далее уже можно будет разобраться, Все оболочки как я понимаю, аналогичны по функциям многим доступным качалкам, типа teleport  или HTTrack Website Copier, а хочется все таки? чего-то более похожего на Scrapbook для firefox  
Заранее извиняюсь за возможно примитивные вопросы, надеюсь на понимание, Спасибо.

Всего записей: 301 | Зарегистр. 26-09-2010 | Отправлено: 23:12 22-08-2011
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shveicar
Вам, я так понял, рекурсивная загрузка нужна.
Типичная команда для рекурсивной загрузки всего сайта выглядит так:
$ wget -mpEk http://example.org
 
Что значат ключи -m, -p, -E и -k — прочитайте в мане.

Всего записей: 8468 | Зарегистр. 11-05-2005 | Отправлено: 23:43 22-08-2011 | Исправлено: ASE_DAG, 23:43 22-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:47 (c) xForumSaver