Я пытаюсь извлечь URL из веб-страницы до определяемых пользователем n уровней с помощью wget. Я попробовал это
wget -r -l$2 --reject=gif -O out.html www.google.com | sed -n 's/.*href="\([^"]*\).*/\1/p'` "
Это отображает только первый уровень. это не анализирует уровней, как я мог исправить его
Избавьтесь от 2$, если Вы не присвоите переменную 2=1, или что-то как этот в другом месте, 2-l$ заставят wget производить wget: --level: Invalid number
, который не будет питаться в sed очень хорошо.
можно сделать:
wget -l 2 <address>
или
wget --length=2 <address>
у Вас может также быть интерес к опции без родителей, которая будет препятствовать тому, чтобы wget пересек каталог (n уровни). Это - особенно полезная опция при получении рекурсивно, так как она гарантирует, что только файлы ниже определенной иерархии будут загружены.
wget -np <address>