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

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

Цитата:
Полностью свою ком. строку приведи и версию wget'а.  

Строка вызова:

Цитата:
%wget% -i 1.txt -a 0187-3.log -p j:\test\

Версия:

Цитата:
GNU Wget 1.11.4, a non-interactive network retriever.

Качаю я файлы по списку в файле 1.txt

Всего записей: 104 | Зарегистр. 05-12-2002 | Отправлено: 17:27 05-04-2009
iglezz

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

Цитата:
Строка вызова:
 
Цитата:
%wget% -i 1.txt -a 0187-3.log -p j:\test\  

ну вот, опять p маленькая....
 
только что проверил из-под винды ХР:
Код:
C:\>wget  google.com -P C:\test\
--2009-04-06 13:37:33--  http://google.com/
Resolving google.com... 209.85.171.100
Connecting to google.com|209.85.171.100|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.google.com/ [following]
--2009-04-06 13:37:34--  http://www.google.com/
Resolving www.google.com... 74.125.39.147
Connecting to www.google.com|74.125.39.147|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://www.google.com.by/ [following]
--2009-04-06 13:37:34--  http://www.google.com.by/
Resolving www.google.com.by... 74.125.39.106
Connecting to www.google.com.by|74.125.39.106|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `C:/test/index.html'
 
    [  <=>                                  ] 4,904       7.62K/s   in 0.6s
 
2009-04-06 13:37:35 (7.62 KB/s) - `C:/test/index.html' saved [4904]

все нормально работает, согласно мануала ...
версия 1.11.4

Всего записей: 573 | Зарегистр. 18-02-2003 | Отправлено: 13:41 06-04-2009 | Исправлено: iglezz, 13:47 06-04-2009
FotIG

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
как wget через крон дать команду на скачивание такого адреса:
 
http://www.domain.com/index.phtml?d=0&h=0&m=0&l=
 
cron свою работу делает, но скачивается пустой файл (с небольшими элементами html-разметки) и обрезается, я так понял, до:
 
http://www.domain.com/index.phtml?d=0
 
в итоге получается, что без продолжения адреса после: ?d=0 ... данные не передаются.
 

Всего записей: 29 | Зарегистр. 08-04-2002 | Отправлено: 04:19 10-04-2009
igor_andreev

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

Всего записей: 1595 | Зарегистр. 08-12-2004 | Отправлено: 11:18 10-04-2009
FotIG

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
igor_andreev
 
Огромное спасибо
Всё получилось — просто другие адреса работают нормально, а вот тут закавыка выходила

Всего записей: 29 | Зарегистр. 08-04-2002 | Отправлено: 17:30 10-04-2009
konungster



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, вопрос
Хочу каждый день загружать себе актуальную версию VRT от касперского ftp://devbuilds.kaspersky-labs.com/devbuilds/AVPTool/
 
 как в wget скачать только самый новый файл из этой директории на фтп? (вернее какие параметры указать wget-у)

Всего записей: 939 | Зарегистр. 31-10-2005 | Отправлено: 10:50 23-04-2009 | Исправлено: konungster, 10:50 23-04-2009
laden

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2konungster
Ну например вот так.
lynx -cfg="%windir%\lynx.cfg" -dump http://devbuilds.kaspersky-labs.com/devbuilds/AVPTool | grep -e "http://downloads.kaspersky-labs.com/devbuilds/AVPTool/setup_.*exe$" -m 1|awk "{print $2}"|wget -N -P "%userprofile%\Desktop" -i -
Самое занятное, работает в линухе без шаманства особого. Только путь куда скачивать меняется.
А вот для винды, где собственно исполняется данная команда необходимо скачать соответсвенно порты lynx, awk, wget, grep
Зато потом с их помощью можно такого куралесить.

Всего записей: 1 | Зарегистр. 01-02-2006 | Отправлено: 18:05 23-04-2009 | Исправлено: laden, 18:27 23-04-2009
XXXXL



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, подскажите пожалуйста как скачать все файлы расширения .rar с директори http://site.com/1/
Спасибо!

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 11:14 24-04-2009
konungster



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
laden
Работает,спасибо
если кому интересно взял порты с  
http://gnuwin32.sourceforge.net/packages/grep.htm
http://home.pacific.net.sg/~kennethkwok/lynx/
http://gnuwin32.sourceforge.net/packages/gawk.htm

Всего записей: 939 | Зарегистр. 31-10-2005 | Отправлено: 15:08 24-04-2009
sis_terr



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
мальчишки, подскажите как скачать странички с nnm.ru  c картинками .
в страничке index.html картинки вставляются примерно так
http://img15.nnm.ru/c/1/8/0/5/98d7b18d3e6254e4fd48bff0c54.jpg

Всего записей: 1271 | Зарегистр. 20-12-2007 | Отправлено: 15:31 24-04-2009
EdVS

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли wget скачивать torrent файлы. Если нет, то какой аналогичной программой (работающей в режиме командной строки) можно качать torrent файлы.

Всего записей: 2 | Зарегистр. 19-11-2005 | Отправлено: 15:48 24-04-2009
metrim

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

Всего записей: 104 | Зарегистр. 05-12-2002 | Отправлено: 20:53 24-04-2009
Molt



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

Цитата:
Ну например вот так.  
lynx -cfg="%windir%\lynx.cfg" -dump http://devbuilds.kaspersky-labs.com/devbuilds/AVPTool | grep -e "http://downloads.kaspersky-labs.com/devbuilds/AVPTool/setup_.*exe$" -m 1|awk "{print $2}"|wget -N -P "%userprofile%\Desktop" -i -  

А почему не так?

Цитата:
wget -r -nd -A *.exe http://downloads5.kaspersky-labs.com/devbuilds/AVPTool/



----------
"Give me the place to stand, and I shall move the earth" — Archimedes

Всего записей: 1299 | Зарегистр. 07-11-2004 | Отправлено: 14:15 27-04-2009
konungster



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

Всего записей: 939 | Зарегистр. 31-10-2005 | Отправлено: 19:52 27-04-2009
at200859



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите решить такую задачу. Надо сделать зеркало части внешнего ftp сервера. Подключение к интернет через http прокси Squid. Версия Wget 1.11.4. В файле wgetrc указал адрес прокси, use_proxy=on, passive_ftp=on. Зеркалирую сервер командой:

Код:
wget.exe -v -a wget.log -c -m --no-cache -I Dir1,Dir2 -A "*.r*" ftp://ftp.server.ru

Теперь сами проблемы:
1. Новые файлы выкачиваются нормально, но старые файлы, которых уже нет на ftp сервере остаются и не удаляются. Какую команду использовать чтобы wget удалял их из локальной папки, т.е чтобы содержимое локальной папки всегда соответствовало содержимому ftp сервера?
2. При подключении к ftp серверу через тот же прокси с помощью какого-либо клиента (far, total commander) файлы отображаются с правильным временем создания. Однако при выкачивании их с помощью wget время устанавливается сдвинутым на величину часового пояса. Это может быть и не напрягало, если бы периодически не происходила полная повторная выкачка всех файлов. И старых тоже, которые были выкачены ранее. Видимо проблема в алгоритме получения времени файла через http прокси. Если файл будет чуть-чуть моложе, то wget считает его обновленным и выкачивает снова. Что можете предложить по решению этой проблемы?

Всего записей: 53 | Зарегистр. 18-02-2003 | Отправлено: 10:27 30-04-2009 | Исправлено: at200859, 10:31 30-04-2009
Dimapplk

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите с авторизацией на сайтах под управлением uCoz'a. Нужно скачать страницу, доступную только после авторизации. Перепробовал все варианты - всегда скачивается  страница без авторизации. Скачать нужно страницу типа  этой, но именно с авторизацией на сайте.

Всего записей: 86 | Зарегистр. 20-05-2007 | Отправлено: 22:12 30-04-2009
metrim

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
осмотрел в логах скачки по списку, оказалось что многие файлы не скачались  с ошибкой 503 (ошибка сервера).
Можно ли как нибудь сделать, что бы эти файлы таки скачивались? несколько попыток или типа того.
При том надо что бы докачивались именно и только файлы с 500ой ошибкой

Всего записей: 104 | Зарегистр. 05-12-2002 | Отправлено: 23:11 12-05-2009
serzhinio

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как при помощи wget качать отсюда http://ru.savefrom.net/
 
(типа есть ссылки deposit - передавать из сайта напрямую в wget)  
 
Есть ли возможность такая??

Всего записей: 2 | Зарегистр. 03-10-2007 | Отправлено: 13:12 22-05-2009
xp3n

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите.
есть такой код:
@echo off
cd ..
cd test
..\Data\wget -c http://www.sophos.com/downloads/ide/441_ides.zip
cd ..
cd enter
7z.exe x -o"..\Scans\Sophos" -y "..\Downloads\441_ides.zip"
del "..\Downloads\441_ides.zip"
однако не сервере постоянно меняют начальное название файла. сегодня 441_ через неделю 447_.  
попробовал написать
..\Data\wget -c http://www.sophos.com/downloads/ide/*_ides.zip, но
wget все время выдает 404 -not found.
как правильно составить запрос?

Всего записей: 18 | Зарегистр. 01-11-2004 | Отправлено: 19:08 31-05-2009
Molt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xp3n
можно было бы так:
 
wget -r -nd -A *.zip http://www.sophos.com/downloads/ide/
 
но у тебя будут скачиваться 4 архива (439/440/441/442 в данном случае)
А дальше уже батником работать.

----------
"Give me the place to stand, and I shall move the earth" — Archimedes

Всего записей: 1299 | Зарегистр. 07-11-2004 | Отправлено: 19:35 31-05-2009 | Исправлено: Molt, 19:35 31-05-2009
Открыть новую тему     Написать ответ в эту тему

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