Параметры каталога Wget

Параметры каталога Wget

Я прочитал руководство Wget, но, к сожалению, оно не решает мою проблему, поэтому я был бы очень признателен, если бы кто-нибудь мог мне немного помочь.

У нас есть веб-сайт, (скажем) website.com, который напрямую ссылается на (скажем) website.com/1/, website.com/2/, ... и т. д.

Теперь каждая страница website.com/r/, где r — целое число, ссылается на ряд документов pdf. Вместо того, чтобы они располагались по адресу website.com/r/doc-i.pdf — что было бы удобно — они все располагаются по адресу website.com/files/doc-i.pdf.

Таким образом, когда я выполню команду wget -r -l 2 -A pdf website.com, я, конечно же, получу большую папку с именем «files» со всеми содержащимися в ней PDF-документами.

Однако я бы предпочел, чтобы они были организованы в разные папки с именами 1, 2, ..., n, которые соответствуют странице, с которой они были загружены. Поскольку я собираюсь загрузить в общей сложности около 10 000 файлов pdf, я бы предпочел не делать этого вручную.

Так как же мне сказать Wget, чтобы он организовал файлы не по структуре каталогов веб-сайта, а по маршруту, по которому был достигнут файл?

Надеюсь, мое объяснение понятно, и добиться этого не слишком сложно.

решение1

(не проверено) Следующее требует некоторой настройки, это просто общая идея:

### get level1
wget -r -l  website.com/      

#### for each html file otained,
for a in $(find website.com -name '*.html' )
do 
  ### get level 2 but prefix it with the base name
  b=$(basename $a)
  wget -P $b -r -l 1 -A pdf http://$a 
done
  • вероятно, находка потребует некоторой настройки
  • возможно, добавить что-то вроде того mv $b/website.com/files FINAL/$b, чтобы снизить уровни

Связанный контент