LINUX.ORG.RU

Как запретить WGET скачивать файлы?


0

0

Скачиваю сайт wget-ом: wget -m somesite.org. При этом скачивается огромное количество страниц-оглавлений вида somesite.org/subdir1/index.html?C=M&O=A&P=Q&R=T, отличающиеся от somesite.org/subdir1/index.html только порядком сортировки. Что хуже, эти страницы не имеют даты изменения, поэтому скачиваются при каждом запуске wget -m. Попытался их заблокировать ключом -R '*=*', результат получился идиотский — страницы по-прежнему скачиваются и тут же стираются. Ключ -X '*=*' тоже не помогает.

Объясните, пожалуйста, как запретить скачивание файлов по шаблону? Хочу автоматически обновлять зеркало, но не хочу каждый раз скачивать десятки мегабайт ради одного нового файла.

★★★★★

Re: Как запретить WGET скачивать файлы?

Micah Cowan говорит, что нерешаемо: https://savannah.gnu.org/bugs/index.php?22670 по состоянию в 1.11.4. Ко всему похожему на html wget применяет фильтры только после скачивания.

Только анализировать оглавления скриптом и скармливать новые файлы wget-у или curl-у.

question4 ★★★★★ ()

Re: Как запретить WGET скачивать файлы?

>Хочу автоматически обновлять зеркало

а rsync доступ сайт не предоставляет?

madepa ()
Ответ на: Re: Как запретить WGET скачивать файлы? от madepa

Re: Как запретить WGET скачивать файлы?

Нет, это просто чей-то личный сайт на домашнем компе. Скорость порядка 10 килобайт в секунду. Новых файлов прибавляется меньше мегабайта в месяц. Общий объём оглавлений порядка 250 мегабайт.

Адрес не дам :)

question4 ★★★★★ ()
Ответ на: Re: Как запретить WGET скачивать файлы? от question4

Re: Как запретить WGET скачивать файлы?

На всякий случай, чтобы не забыть: вначале wget -x -N somesite.org/subdir{1..23}/index.html , затем for fil in subdir{1..23}; do grep -oh 'href="шаблон_относительной_ссылки"' "somesite.org/$fil/index.html" | sort | uniq | sed 's:^href=":wget -x -N "somesite.org/'$fil'/:'; done | bash

question4 ★★★★★ ()
Ответ на: Re: Как запретить WGET скачивать файлы? от question4

Re: Как запретить WGET скачивать файлы?

>>Micah Cowan говорит, что нерешаемо: https://savannah.gnu.org/bugs/index.php?22670 по состоянию в 1.11.4. Ко всему похожему на html wget применяет фильтры только после скачивания.

ошибаетесь, он к любым файлам применяет фильтры только после скачивания. это огромный косяк.

scaldov ★★ ()
Ответ на: Re: Как запретить WGET скачивать файлы? от scaldov

Re: Как запретить WGET скачивать файлы?

> он к любым файлам применяет фильтры только после скачивания.

Если сперва скачивает, значит принимает за html :)

> это огромный косяк.

Он думает так же :)

Отличный "паук", а из-за этого наследия низводится до curl-а, только более тормозного.

question4 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.