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

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

Цитата:
A offline explorer-ом не пробовал?

честно говоря не непробовал
но за подсказку спасибо

Всего записей: 172 | Зарегистр. 10-01-2004 | Отправлено: 09:10 27-09-2005
gavana



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

1.10.2 complete (SSL libraries included in the archive)
_http://xoomer.virgilio.it/hherold/wget-1.10.2b.zip

Всего записей: 1251 | Зарегистр. 14-03-2003 | Отправлено: 16:27 19-10-2005 | Исправлено: gavana, 16:32 19-10-2005
shedow25

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Wget 1.10.2 complete (2005/10/13)

Цитата:
major security bugfixes

Всего записей: 4039 | Зарегистр. 02-12-2004 | Отправлено: 20:45 19-10-2005
wanton

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как сделать, чтобы wget после закачки ставил дату модификации не серверную, а когда он[файл] закачивался.
А то у меня в папке закачки - полный бардак!Закачал потом не найдешь. Так хоть можно по времени мод-ции отсортировать..
Есть ли такие опции.
Спасибо!

Всего записей: 10 | Зарегистр. 02-04-2002 | Отправлено: 17:52 21-10-2005
sabio

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wanton
Вроде, нету в wget такой настройки - он всегда ставит файлу дату модификации, полученную с сервера. НО:
1. можно сортировать по дате создания, а не дате модификации
2. можно использовать, например, cURL - этот наоборот, пока не скажешь (-R), не станет локальному файлу ставить дату с сервера

Всего записей: 2898 | Зарегистр. 21-05-2004 | Отправлено: 22:33 21-10-2005
Re9istr



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как поставить отдельный прокси для каждого файла?

Всего записей: 877 | Зарегистр. 20-08-2005 | Отправлено: 22:39 21-10-2005
wanton

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

Цитата:
можно использовать, например, cURL - этот наоборот, пока не скажешь (-R), не станет локальному файлу ставить дату с сервера

не понял...

Всего записей: 10 | Зарегистр. 02-04-2002 | Отправлено: 16:19 22-10-2005
cracklover



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста, по работе wget через прокси с авторизацией.
Как выглядит команда на работу через прокси - это понятно:
 
--proxy=on  -ehttp_proxy=http://xxx.xxx.xxx.xxx:номер порта
 
А вот как сюда авторизацию прикрутить, если прокси работатет по логину-паролю?
 
 
Может я всё и напутал, но в любом случае мне надо, допустим,
скачать через wget файл http://www.test.com/files/test.zip  через прокси  xxx.xxx.xxx.xxx работающем на порту 3129 с логином: pupkin и паролем: pupkin.
 
Как будет правильно выглядеть команда?


----------
Добро пожаловать на мой блог обо всех старых и новых незаконных трюках сотовых операторов!

Всего записей: 6393 | Зарегистр. 04-10-2004 | Отправлено: 16:42 22-10-2005 | Исправлено: cracklover, 17:29 22-10-2005
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cracklover
А --proxy-user=USER --proxy-password=PASS не работает?
 
wanton
Цитата:
не понял...

sabio имел ввиду другую консольную качалку, сurl.exe http://curl.haxx.se

Всего записей: 1595 | Зарегистр. 08-12-2004 | Отправлено: 17:31 22-10-2005 | Исправлено: igor_andreev, 17:42 22-10-2005
8AleX8



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cracklover
http://vap.org.ru/wget/05-08.shtml#proxies

Цитата:
Некоторые прокси сервера требуют выполнения авторизации для их использования. Авторизация состоит из имени пользователя и пароля, которые должны быть посланы Wget. Для HTTP авторизации существует несколько схем ее реализации. Для прокси авторизации в данный момент реализована только схема "Basic".
 
Вы можете указывать ваши имя пользователя и пароль или через URL прокси, или через опции командной строки. Предположим, что прокси компании расположен на "proxy.srce.hr" с номером порта "8001", тогда расположение прокси с данными авторизации может быть задано как:
 
http://hniksic:[email protected]:8001/
 
В качестве альтернативы определения имени пользователя и пароля для прокси вы можете использовать опции "proxy-user" и "proxy-password", а также их эквивалентные установки ".wgetrc" - "proxy_user" и "proxy_passwd".

http://sunsite.univie.ac.at/textbooks/wget/wget.html#TOC9
http://hepd.pnpi.spb.ru/~shevel/Book/node106.html#SECTION02163000000000000000


----------
Заведи себе DropBox. Минимум 2.25 GB в облаке с кросплатформенным доступом.

Всего записей: 1812 | Зарегистр. 11-12-2001 | Отправлено: 18:43 22-10-2005
Nicka_Grey

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Такой вопрос, можно ли с помощью сабжа скачать не весь ZIP-архив, а только некоторые файлы из этого арихва?

Всего записей: 1282 | Зарегистр. 04-01-2003 | Отправлено: 10:27 17-11-2005
Alex_Dragon



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нельзя. Разве что архив разбит на тома.
Теоретически это возможно, при условии произвольного доступа к файлу, и то не всегда — не все серваки выдают информацию о длине файла, и не все отдают её корректно. И то, таковая возможность зависит от структуры архива, его реализации. Полагаю, в некоторых случаях распаковать архив — равнозначно его скачать. Практически же я о таком софте не слышал. Хотя было бы любопытно. Но пока что я не слышал о реализации подобного ни в одном даунлоадере. В wget'е и подавно — он прост, как три копейки, разрабатывался для других вещей и тогда и в тех условиях подобная здача не стояла.
 
Меня вот другая проблема интересует — рекомендации по зеркалированию динамических сайтов. Скажем, очень любопытный случай — библиотека на сайте издательства «Питер». Я пробовал разные варианты, разный софт — и ни один не дал стопроцентно удовлетворительного результата. Всякий раз, помимо нужного, затягивается куча мусора, чуть ли не полсайта. Что очень неудобно.

Всего записей: 368 | Зарегистр. 05-01-2002 | Отправлено: 16:14 17-11-2005 | Исправлено: Alex_Dragon, 16:19 17-11-2005
Darksome

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex_Dragon эта функция довольно легко реализуема (если архив не непрерывный) и у некоторых она есть. Где-то в середине 90-х пользовался таким качком Go!Zilla вроде так называется, так там есть такая функция.

Всего записей: 174 | Зарегистр. 01-09-2005 | Отправлено: 16:30 17-11-2005
Nicka_Grey

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alex_Dragon
Darksome
Уже много качалок шарят такую фичу,как скачивание определенных файлов из ZIP-архива. (DownloadMaster)
Конечно же не с каждым серваком такое прокатит.
Вот как раз я и спрашиваю, может ли такое сабж?

Всего записей: 1282 | Зарегистр. 04-01-2003 | Отправлено: 16:49 17-11-2005
Darksome

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

Всего записей: 174 | Зарегистр. 01-09-2005 | Отправлено: 09:37 18-11-2005
Alex_Dragon



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

Цитата:
 и у некоторых она есть

Значит я отстал от жизни. Гозиллу знаю, не знал токо, что она такое умеет. После того, как немного научился пользоваться wget'ом, другими доаунлодерами не пользуюсь. Так, иногда ставлю посмотреть.
 

Цитата:
эта функция довольно легко реализуема (если архив не непрерывный)

 
Ну вот именно. Учитывая, что множество «вкусных» архивов народ выкладывает в rar, а из мне нужных — частенько tar.gz, tar.bz2, то пользы особой от такой фичи немного.

Всего записей: 368 | Зарегистр. 05-01-2002 | Отправлено: 16:44 18-11-2005
sergiigray



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
почему не получается получить файлы по маске: ftp://server/*.rar  ?
говорит, что нет. Хотя точно знаю что есть...

Всего записей: 130 | Зарегистр. 26-01-2003 | Отправлено: 13:55 30-11-2005
reogent

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В чем трабл с этим скриптом?
 
C:\Downloads\wget-1.10.2b\wget А --proxy=on  -ehttp_proxy=http://11.121.0.33:3128 --proxy-user=vik --proxy-password=111111 -O"C:\Temp\navup8.exe" --passive-ftp ftp://ftp.symantec.com/public/english_us_canada/antivirus_definitions/norton_antivirus/static/navup8.exe  
call "C:\Temp\navup8.exe"  
move /y C:\Temp\*.xdb "C:\Program Files\Symantec AntiVirus"  
del /q C:\Temp\navup8.exe  
net stop "Symantec AntiVirus"  
net start "Symantec AntiVirus"

 
 

C:\Downloads\wget-1.10.2b>C:\Downloads\wget-1.10.2b\wget &#9492; --proxy=on  -ehttp_pr
oxy=http://11.121.0.33:3128 --proxy-user=vik --proxy-password=1111111 -O"C:\Temp\
navup8.exe" --passive-ftp ftp://ftp.symantec.com/public/english_us_canada/antivi
rus_definitions/norton_antivirus/static/navup8.exe
--11:59:35--  http://l/
           => `C:/Temp/navup8.exe'
Connecting to 11.121.0.33:3128... connected.
Proxy request sent, awaiting response... 503 Service Unavailable
11:59:35 ERROR 503: Service Unavailable.
 
--11:59:35--  ftp://ftp.symantec.com/public/english_us_canada/antivirus_definiti
ons/norton_antivirus/static/navup8.exe
           => `C:/Temp/navup8.exe'
Resolving ftp.symantec.com... failed: Unknown host.
 
FINISHED --11:59:50--
Downloaded: 0 bytes in 0 files
 
C:\Downloads\wget-1.10.2b>call "C:\Temp\navup8.exe"

 
 
 

Всего записей: 9 | Зарегистр. 01-09-2005 | Отправлено: 09:05 06-12-2005 | Исправлено: reogent, 09:08 06-12-2005
o5a

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вопрос к спецам: можно ли wget настроить, чтобы файлы получались таким образом - если одинаковые - пропускаем, если на сайте файл новее (или другого размера) - закачиваем с сохранением под другим именем, вроде <оригинальноеИмяФайла>.<числовойИндекс>  
сколько смотрел параметры, нужного не нашел.

Всего записей: 15 | Зарегистр. 10-04-2002 | Отправлено: 19:04 15-12-2005
BakLAN



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста, вопрос может тупой, но всё же, что значат эти буковки "а", которые возникли в последней версии программы? То есть, например, в размере:
 
Length: 6а575а104
 
или
 
85% [==============================>      ] 5а594а708
 
 
igor_andreev
Можно ли твой скрипт прикрутить к Maxthon`у? Я имею ввиду чтоб закачка стартовала не из выбора в контекстном меню соответствующего пункта, а сразу после нажатия левой кнопкой мыши по ссылке. Для этого в Mahthon\Config\downloadmgr.ini для каждого менеджера закачек прописаны небольшие скриптики, только для Wget`а нету.

Всего записей: 2788 | Зарегистр. 15-12-2003 | Отправлено: 19:15 30-12-2005 | Исправлено: BakLAN, 00:36 04-01-2006
Открыть новую тему     Написать ответ в эту тему

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