Intereting Posts
sudo после длительного вызова сна без повторного запроса пароля sudo Что происходит после набора USB 3G-модема Нужно получить командную строку всех запущенных демонов Каков правильный способ исправить ошибку configure: «Requested» libdrm_nouveau> = 2.4.33 ', но версия libdrm_nouveau равна 0.6 "? ошибка аутентификации входа в систему "пользователем, не являющимся пользователем root, может войти только в root Разрыв жесткой связи на месте? Каковы преимущества использования нескольких IP-адресов на сервере? Bash – регулярное выражение для соответствия наборам чисел Что означает «Ожидаете ли вы запустить систему X Windows?» При установке OpenBSD? Поведение подстановки команды bash с помощью команды из строки в переменной Более быстрые альтернативы lsof Сократить имя файла Linux (усечь на символ) Неожиданный вывод нетстата в условиях DNAT / usr / bin / ld: не удается найти -ldb при компиляции iproute2 Как Linux kernel 3.x управляет ramdisk как блочным устройством?

Проблема с рекурсивной загрузкой с помощью wget

Я пытаюсь узнать, как использовать рекурсивную загрузку с помощью wget с информационной страницы wget.

Например, попробуем загрузить все изображения xkcd . Список всех страниц присутствует в архиве xkcd . На всех страницах есть один png-файл. Файл png присутствует в другом хосте, imgs.xkcd.com.

Я пробовал эту команду:

 wget -r -HD imgs.xkcd.com -l 2 -A.png http://www.xkcd.com/archive/ --random-wait 

Результат:

  xkcd $ tree . 0 directories, 0 files xkcd $ wget -r -HD imgs.xkcd.com -l 2 -A.png http://www.xkcd.com/archive/ --random-wait --2014-01-10 18:49:55-- http://www.xkcd.com/archive/ Resolving www.xkcd.com (www.xkcd.com)... 107.6.106.82 Connecting to www.xkcd.com (www.xkcd.com)|107.6.106.82|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 83226 (81K) [text/html] Saving to: `www.xkcd.com/archive/index.html' 100%[=============================================================================================================>] 83,226 68.3K/s in 1.2s 2014-01-10 18:49:57 (68.3 KB/s) - `www.xkcd.com/archive/index.html' saved [83226/83226] Loading robots.txt; please ignore errors. --2014-01-10 18:49:57-- http://imgs.xkcd.com/robots.txt Resolving imgs.xkcd.com (imgs.xkcd.com)... 107.6.106.82 Reusing existing connection to www.xkcd.com:80. HTTP request sent, awaiting response... 404 Not Found 2014-01-10 18:49:58 ERROR 404: Not Found. Removing www.xkcd.com/archive/index.html since it should be rejected. --2014-01-10 18:49:58-- http://imgs.xkcd.com/static/terrible_small_logo.png Reusing existing connection to www.xkcd.com:80. HTTP request sent, awaiting response... 200 OK Length: 11001 (11K) [image/png] Saving to: `imgs.xkcd.com/static/terrible_small_logo.png' 100%[=============================================================================================================>] 11,001 --.-K/s in 0.05s 2014-01-10 18:49:58 (229 KB/s) - `imgs.xkcd.com/static/terrible_small_logo.png' saved [11001/11001] FINISHED --2014-01-10 18:49:58-- Total wall clock time: 2.9s Downloaded: 2 files, 92K in 1.2s (74.4 KB/s) xkcd $ tree . |-- imgs.xkcd.com | `-- static | `-- terrible_small_logo.png `-- www.xkcd.com `-- archive 4 directories, 1 file xkcd $ 

Это, очевидно, не то, что я хочу. Кажется, что wget отклонил www.xkcd.com/archive/index.html перед www.xkcd.com/archive/index.html как прочитать его и проверить ссылки. Даже если .html добавляется в список accept (как предлагается в ответе), он не загружает изображения. Какая ошибка в команде?

Проблема заключается в вашем ограничении на то, какие ссылки следует соблюдать. Вы установили его только для ссылок на imgs.xkcd.com. Но в / архиве / странице нет ссылок на них прямо – он содержит только ссылки на другие страницы на http://www.xkcd.com, а затем эти страницы содержат ссылку на imgs.xkcd.com.

Поэтому вам также нужно будет разрешить этот домен. Эта команда работает:

 wget -r -HD imgs.xkcd.com,www.xkcd.com -l 2 -A.png http://www.xkcd.com/archive/ --random-wait 

Я думаю, что иногда проблема может быть связана с:

Повторное использование существующего подключения к http://www.xkcd.com:80.

HTTP-запрос отправлен, ожидая ответа … 200 OK

который указывает, что файлы не были загружены, но они были повторно использованы.

Таким образом, я думаю, что удаление существующих файлов в некоторых случаях, таких как index.html (которые могли бы ломать рекурсивную загрузку дальше), также помогло бы.

Или в основном начинать с нуля (без -c ).