Analysieren Sie die Webseite bis auf n Ebenen mit wget

Analysieren Sie die Webseite bis auf n Ebenen mit wget

Ich versuche, URLs aus einer Webseite bis zu benutzerdefinierten n Ebenen mit wget zu extrahieren. Ich habe dies versucht

 wget -r -l$2 --reject=gif -O out.html www.google.com | sed -n 's/.*href="\([^"]*\).*/\1/p'` "

Es wird nur die erste Ebene angezeigt. Es werden keine Ebenen analysiert. Wie kann ich das beheben?

Antwort1

Entfernen Sie $2, es sei denn, Sie weisen anderswo die Variable 2=1 oder etwas Ähnliches zu. -l$2 führt dazu, dass wget eine Ausgabe macht wget: --level: Invalid number , die sich nicht gut in sed einspeisen lässt.

du kannst tun:

wget -l 2 <address>

oder

wget --length=2 <address>

Sie könnten auch an der Option „no-parent“ interessiert sein, die verhindert, dass wget das Verzeichnis (n Ebenen) durchläuft. Dies ist eine besonders nützliche Option beim rekursiven Abrufen, da sie garantiert, dass nur die Dateien unterhalb einer bestimmten Hierarchie heruntergeladen werden.

wget -np <address>

verwandte Informationen