Я пытаюсь загрузить архивы списков рассылки, такие как

http://cryolist.org/archives/

В частности, у меня есть страница, и я хотел бы загрузить каждый файл, связанный с этой страницей, который заканчивается на «.txt.gz». Есть ли способ ограничить wget, чтобы сделать это? В противном случае альтернативный подход?

Рекомендации

http://www.gnu.org/software/wget/manual/html_node/

3 ответа3

3

Попробуй это:

wget \
    --recursive \
    --no-directories \
    --no-parent \
    --level 1 \
    --accept .txt.gz \
    --execute robots=off \
    http://lists.cryolist.org/pipermail/cryolist-cryolist.org/

Использование длинных опций для удобочитаемости.

3

Из wget --help:

-r,  --recursive          specify recursive download.
-l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).
-A,  --accept=LIST        comma-separated list of accepted extensions.

Помня, что файлы связаны с iFrame lists.cryolist.org/pipermail/cryolist-cryolist.org, следующая команда даст желаемые результаты:

wget -r -l1 -A "txt.gz" lists.cryolist.org/pipermail/cryolist-cryolist.org

Выключатели

  • -r позволяет загружать другие ресурсы, связанные с.

  • -l1 ограничивает это до одного уровня, т. Е. Если page1 ссылается на page2 а page2 ссылается на unwanted.txt.gz , этот файл не будет загружен.

0

Напишите сценарий bash, сохраняйте все месяцы в массиве, зацикливая их, вставляя их в команду wget в правильной позиции

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .