помощь в рекурсии wget

Это должно помочь вам начать работу:

BEGIN {
    split("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec", mon);
    for (i = 1; i <= 12; i++) {
        month[mon[i]] = i;
    }
}
/zzz/ {
    ts = sprintf("%d-%02d-%d %s", $5, month[substr($4, 1, 3)], $3, $6); next;
}
/Device/ {
    printf("%s", ts); next;
}
length($0) == 0 {
    print; next;
}
{
    for (i = 2; i <= NF; i++) {
        printf("%5d", $i);
    }
}

END { print ""; }

Добавление заголовка и преобразование метки времени в нелепый формат оставлены читателю в качестве упражнения.

1
20.09.2016, 18:50
1 ответ

wget -r может работать только в том случае, если все ссылки на PDF-файлы каким-либо образом доступны по заданному URL-адресу.

Что вы можете сделать, так это «посмотреть» на исходный HTML-код конкретного сайта http://eduplace.com/math/mw/practice/1/lp_1_u1sel.html , чтобы увидеть, как все pdf ссылки построены. Затем напишите небольшой сценарий, чтобы сделать это автоматически, например:

wget http://eduplace.com/math/mw/practice/1/lp_1_u1sel.html
CHAPT=$(grep chapter  lp_1_u1sel.html | sed 's/.*value="\([^"]*\)".*/\1/')
FEAT=$(grep feature  lp_1_u1sel.html | sed 's/.*value="\([^"]*\)".*/\1/')
for c in $CHAPT; do
    for f in $FEAT; do
        wget -O mw-practice-1-$c-$f.pdf https://www.eduplace.com/math/mw/practice/1/$c/$f.pdf
    done
done
0
28.01.2020, 01:11

Теги

Похожие вопросы