Я бы посоветовал вам сделать это в 2 шага, лучше читаемость и меньше беспорядка.
- Сделайте паутинку и получите вывод в лог-файл.
- Разбор лог-файлачтобы получить URL-адреса, которые вы ищете.
Для # 1 -
wget --spider --force-html --span-hosts --user-agent = "Mozilla / 5.0 (X11; Fedora; Linux x86_64; rv: 52.0) Gecko / 20100101 Firefox / 52.0" -np --limit-rate = 20k -e robots = off --wait = 3 --random-wait -r-l2 https://en.wikibooks.org/wiki/C%2B%2B_Programming -o wget.log &
Как только # 1 закончен, вы можете перейти к # 2.
Для # 2 -
grep http wget.log |grep -v "[следует]" |awk '{print $ 3}' |grep -vE ".css | .js | .png | .gif | .jpg" |sort -u> urls.txt
Это даст вам то, что вы ищете.
Обратите внимание, что # 1 будет загружать все, что он найдет, и, поскольку вы углубляетесь на 2 уровня, это может быть много данных.Вы можете использовать опцию --delete-after с wget, если вы не хотите загружать все (то есть, если вы планируете использовать urls.txt для загрузки материала)