
Estoy intentando extraer URL de una página web hasta n niveles definidos por el usuario usando wget. Probé esto
wget -r -l$2 --reject=gif -O out.html www.google.com | sed -n 's/.*href="\([^"]*\).*/\1/p'` "
Muestra solo el primer nivel. No está analizando ningún nivel, ¿cómo podría rectificarlo?
Respuesta1
Deshágase de $2 a menos que esté asignando una variable 2=1 o algo así en otro lugar, -l$2 hará que wget genere una salida wget: --level: Invalid number
que no se introducirá muy bien en sed.
tu puedes hacer:
wget -l 2 <address>
o
wget --length=2 <address>
También puede interesarle la opción sin padre, que evitará que wget suba en el directorio (n niveles). Esta es una opción especialmente útil cuando se realiza una recuperación recursiva, ya que garantiza que sólo se descargarán los archivos que se encuentran por debajo de una determinada jerarquía.
wget -np <address>