LINUX.ORG.RU

Скачивание wget по неизвестным прямым ссылкам

 ,


0

2

Добрый день! Дано: более 500 файлов с одинаковым расширением (названия на кириллице и не представляют собой последовательности), адрес директории. В итоге ссылка на все файлы по маске выглядит так: http://www.example.ru/dir/direct/*/*.pdf. Доступа к указанной директории (ни dir, ни dir/direct/, ни dir/direct/*/) нет, но есть доступ на закачку файлов по прямой ссылке (http://www.example.ru/dir/direct/01/абвгд.pdf, http://www.example.ru/dir/direct/01/енм.pdf, и т.д.). Необходимо автоматизировать процесс скачивания файлов с расширением pdf. wget -r -nd -np -l1 -A «*.pdf» http://www.example.ru/dir/direct/ выдает ошибку 403, то же самое с --content-disposition=on --restrict-file-names=nocontrol

Ответ на: комментарий от logon

-A ".*pdf"

−1. -A — это сокращение от --accept, а не от --accept-regex.

Zmicier ★★★★★
()

но есть доступ на закачку файлов по прямой ссылке

И этот доступ есть только у вас, но не у всякого из Сети?

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)

То, что ты хочешь сделать «скачивание по маске», не получится с вероятностью примерно 100%.

По сути вопроса: тебе нужно сформировать файл (список), где построчно будут указаны ссылки для скачивания. Потом этот файл (список) отдать wget или aria2c (он быстрее чем wget выкачает кучу мелких файлов).

justAmoment ★★★★★
()

Доступа к указанной директории (ни dir, ни dir/direct/, ни dir/direct/*/) нет

Значит и мультиков нет.

Deleted
()
Ответ на: комментарий от Deleted

ТС наверно имеет ввиду листинг директорий.

Deleted
()

По логике, если вы не знаете названий или алгоритма, которым они автоматически назначаются ничего не выйдет. Сами подумайте: как wget узнает имена файлов на чужом сервере?

peregrine ★★★★★
()
Ответ на: комментарий от Deleted

Значит и мультиков нет.

Вы все сговорились или это я читать не умею? Где в условии написано, что ссылки на эти файлы секретны? Откуда тогда ОП про них вообще узнал?

Zmicier ★★★★★
()
Ответ на: комментарий от peregrine

Сами подумайте: как wget узнает имена файлов на чужом сервере?

Да блин! Точно так же, как их узнал человек — не?

Zmicier ★★★★★
()
Ответ на: комментарий от Zmicier

если сервер не отдает никаким образом списка файлов в директории (листинг, список на страничке сайта) - то и качать нечего. если такой список есть, то вгет конечно поможет, но тогда непонятно в чем проблема - это штатная функция, описанная в документации.

anonymous
()

Доступа к указанной директории (ни dir, ни dir/direct/, ни dir/direct/*/) нет

Если апач и есть доступ к файловой системе по SSH/FTP - то в корень сайта суёшь .htaccess с Options +Indexes или та же директива в виртхост. Как на Nginx - не знаю. Если ничего такого нет - страдай или пищи скрипт с перебором всех известных урлов

WereFox ★☆
()
Последнее исправление: WereFox (всего исправлений: 1)

Хитрый воровайка :) Нет, так не получится.

anonymous
()
Ответ на: комментарий от WereFox

Человеку их сказали

Не усматриваю такого.

Zmicier ★★★★★
()
Ответ на: комментарий от anonymous

если сервер не отдает никаким образом списка файлов в директории (листинг, список на страничке сайта)

Так кто вам всем сказал, что не отдает? Сказали, что не отдают листинг директории — так это естественно, так 100 % серверов делает.

но тогда непонятно в чем проблема - это штатная функция, описанная в документации

Ну, вероятно, в том, что товарищ не может прочитать документацию так, чтобы понять, что́ же именно надо сделать. Больше половины вопросов на ЛОРе об этом, не?

А вообще, по-моему, ОП уже давно посмотрел-посмотрел, да и махнул на нас рукой, а мы тут все воду в ступе толчем.

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от Zmicier

Вы все сговорились или это я читать не умею?

Второе.

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