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



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

Цитата:
Здесь есть для семёрки - http://www.nncron.ru/forums/viewtopic.php?f=5&t=10294&start=120#p28465

Кронтаб входит nncron?
 
Как можно сделать чтобы wget выставил в имя сохраняемого файла текущую дату с временем
например, можно ли такое реализовать (может при помощи .bat)
stream_15.01.13-15.53.10.ts
stream_%date%-%time:~0,2%.%time:~3,2%.%time:~6,2%.ts

Всего записей: 1488 | Зарегистр. 17-05-2010 | Отправлено: 13:55 15-01-2013
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
anynamer
> Как можно сделать чтобы wget выставил в имя сохраняемого файла текущую дату с временем
Вэ-гет этого сделать не сможет.
 
> можно ли такое реализовать (может при помощи .bat)
Да, с помощью шелла это сделать можно. Напоминаю, что имя выходного файла Вэ-гета можно задать ключом -O.
$ wget -O myexamplefile 'http://example.org/'

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

Всего записей: 8468 | Зарегистр. 11-05-2005 | Отправлено: 14:22 15-01-2013 | Исправлено: ASE_DAG, 14:28 15-01-2013
anynamer



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG
Спасибо, разобрался.
 
Вот пример, может пригодится кому-то:
cmd /K c:\Program Files\wget.exe wget http://example.ru/streamlink -O stream_%date%-%time:~0,2%.%time:~3,2%.%time:~6,2%.ts

Всего записей: 1488 | Зарегистр. 17-05-2010 | Отправлено: 14:43 15-01-2013 | Исправлено: anynamer, 14:56 15-01-2013
anynamer



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Почему wget выдаёт такое:
   
 
При таких параметрах
cmd /K c:\wget.exe wget http://xxxxxxxxxx.zz/yyyyyyyyyyyyy -O AnimalPlanetHD_%date%-%time:~0,2%.%time:~3,2%.%time:~6,2%.ts
 

Всего записей: 1488 | Зарегистр. 17-05-2010 | Отправлено: 13:57 19-01-2013
king_stiven

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У тебя wget два раза набран, надо только один.

Всего записей: 2093 | Зарегистр. 17-07-2006 | Отправлено: 14:05 19-01-2013
anynamer



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

Всего записей: 1488 | Зарегистр. 17-05-2010 | Отправлено: 18:02 19-01-2013
DimitriusXZ

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

Цитата:
 ... Интересно. Если получится, скиньте пожалуйста кроме логов и сравнение поврежденного и нормального файла (fc /b file1 file2 >fc.log)  
...  

 
Есть логи (27 МБ) и сравнение поврежденного файла (44 Кб)
(несоответствие внутренних данных).
Кому нужны?
Куда скинуть?
 
Логи отказа докачивать нужны?
 
Вот:
http://rghost.net/43363870
Отказ докачивать - нужно поймать эту ситуацию.
Если удастся - сделаю позже.
 
Вот еще одино сравнение:
http://rghost.ru/43465233
Лог тот же.
 
Я залил небольшие файлы, но…    
Иногда файлы коррекции очень велики. Например если образ 700 МБ,    
то иногда различаются более чем 400 МБ.    
Вероятно из-за смещения.

Всего записей: 458 | Зарегистр. 17-01-2010 | Отправлено: 01:46 27-01-2013 | Исправлено: DimitriusXZ, 16:07 02-03-2013
Victor_VG

Редактировать | Цитировать | Сообщить модератору
anynamer
 
crontab /кронтаб/ не просто входит в крон/ннкрон - а сам крон его и создаст коли нет.

Отправлено: 09:17 27-01-2013
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день, DimitriusXZ
Да, нужны. И логи отказа докачивать тоже.  
Пожалуйста, на какой-то нормальный файлообменник (rghost.ru narod.ru files.mail.ru). Думаю, достаточно будет просто дописать/отредактировать прошлый пост.

Всего записей: 1537 | Зарегистр. 07-08-2002 | Отправлено: 09:54 27-01-2013
sikemo

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
реально скачать http://goo.gl/83bVd Я  взял список страниц, попробовал с/без ключа --user-agent Moziilla. На выходе — линки на страницу онлан-прочтения

Всего записей: 921 | Зарегистр. 27-11-2008 | Отправлено: 21:39 07-02-2013
Drakostaarn



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый вечер всем! Можно ли wget-ом вытащить весь форум с б-гомерзкого народ.ру? Если да, то как?

Всего записей: 15 | Зарегистр. 10-09-2010 | Отправлено: 21:51 07-02-2013
Victor_VG

Редактировать | Цитировать | Сообщить модератору
Drakostaarn
 
Проще пауком типа Metaproduct OE - ссылок будет многовато, curl/wget если списки файлов дать могут.

Отправлено: 00:44 08-02-2013
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Drakostaarn
> Можно ли
А вы попробуйте и узнаете. (Что я вам еще могу сказать, когда адреса вы не указываете.)

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

Всего записей: 8468 | Зарегистр. 11-05-2005 | Отправлено: 02:17 08-02-2013
Drakostaarn



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG, уже пробовал. Выдёргивает только первую страницу со ссылками на сообщения.  
 
Скачать нужно все. Форум, ну, к примеру, вот этот - http://narod.yandex.ru/userforum/?owner=ordenknights
 
 
Добавлено:
Victor_VG, спасибо, пробовал. Не берёт

Всего записей: 15 | Зарегистр. 10-09-2010 | Отправлено: 08:21 08-02-2013 | Исправлено: Drakostaarn, 08:25 08-02-2013
sikemo

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ещё вопросъ — как выудить контент. запрятанный под жаваскрипт, напр. http://tattoo.ptattoo.ru/index.php?CURRENT_FOLDER=28&LETTER=61&

Всего записей: 921 | Зарегистр. 27-11-2008 | Отправлено: 12:16 08-02-2013
Victor_VG

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

Отправлено: 13:01 08-02-2013
adasiko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
там просто элемент визуально сворачивается-разворачивается, там выполнение скрипта не нужно - в статическом коде страницы ссылка на картинку присутствует всегда (для данного сайта)

Всего записей: 1790 | Зарегистр. 30-06-2008 | Отправлено: 14:52 08-02-2013 | Исправлено: adasiko, 14:55 08-02-2013
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Drakostaarn
> http://narod.yandex.ru/userforum/?owner=ordenknights
Ого! Фрэймы. Давненько я их не видел. Даже если их правильно распарсить окажется не проблемой, то переход по страницам — он сделан исключительно на Яваскрипте — сабжу не по силам. Ответ на ваш вопрос: нет.
 
sikemo
> как выудить контент
Ваш вопрос непонятен.
Загрузить указанную вами страницу не представляет никаких проблем.
$ wget -pEk 'http://tattoo.ptattoo.ru/index.php?CURRENT_FOLDER=28&LETTER=61&'

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

Всего записей: 8468 | Зарегистр. 11-05-2005 | Отправлено: 16:41 08-02-2013 | Исправлено: ASE_DAG, 19:45 08-02-2013
sikemo

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

Цитата:
$ wget -pEk

 
спасибо, самое то

Всего записей: 921 | Зарегистр. 27-11-2008 | Отправлено: 23:20 08-02-2013
halfman

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как-то странно работает зеркалирование ftp (--mirror) на wget 1.11.4.3287.
Не удаляются файлы, которых уже нет на сервере.
 
Переносил файлы на сервере из одной папки в другую. В итоге - при скачивании файлы остались во всех папках, удаления не происходит. Это ж через какое-то время просто свалка будет.  
 
У всех так же?

Всего записей: 58 | Зарегистр. 07-03-2007 | Отправлено: 07:29 18-02-2013
Открыть новую тему     Написать ответ в эту тему

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