GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo obtener el texto de una página usando wget sin html?

wget sólo recuperará el documento. Si el documento está en HTML, lo que desea es el resultado de analizar el documento.

Podría, por ejemplo, usar lynx -dump -nolist , si tienes un lince cerca.

lynx es un navegador web ligero y sencillo, que tiene el -dump característica, utilizada para generar el resultado del proceso de análisis. -nolist evita la lista de enlaces al final, que aparecerá si la página tiene hipervínculos.

Como lo menciona @Thor, elinks también se puede usar para esto, ya que también tiene un -dump opción (y tiene -no-references para omitir la lista de enlaces). Puede ser especialmente útil si camina por algún sitio usando -sigh-frames (MTFBWY).

Además, tenga en cuenta que, a menos que la página sea realmente solo código C con etiquetas HTML, deberá verificar el resultado, solo para asegurarse de que no haya nada más que código C allí.


Si no tiene estas otras herramientas instaladas, solo wget, y la página no tiene formato, solo texto sin formato y enlaces, p. código fuente o una lista de archivos, puede quitar el HTML usando sed como este:

wget -qO- http://address/of/page/you/want/to/view/ | sed -e 's/<[^>]*>//g'

Esto usa wget para volcar la fuente de la página a STDOUT y sed para eliminar cualquier par <> y cualquier cosa entre ellos.

Luego puede redirigir la salida del comando sed al archivo que desea crear usando> :

wget -qO- http://.../ | sed -e 's/<[^>]*>//g' > downloaded_file.txt

NB:puede encontrar que tiene espacios en blanco adicionales en el archivo que no desea (por ejemplo, las líneas tienen una sangría de algunas columnas)

Puede ser más fácil usar su editor de texto para ordenar el archivo (o un formateador de fuentes mientras descarga el código fuente C).

Si necesita hacer lo mismo con cada línea del archivo, puede incluir un comando para hacerlo en el comando sed (aquí quitando un espacio inicial):

wget -qO- http://.../ | sed -e 's/<[^>]*>//g;s/^ //g' > downloaded_stripped_file.txt

solo para agregar otra herramienta. prefiero w3m , que es un lynx como navegador de consola. Es posible que desee comprobar lo que ya está disponible en su sistema.

w3m -dump website.html

Linux
  1. Cómo escribir texto en la imagen usando el comando de Linux

  2. Debian:¿cómo iniciar Debian en modo de texto sin utilizar la interfaz gráfica de usuario?

  3. Cómo obtener una dirección de memoria específica usando C

  4. ¿Cómo obtener el contenido de una página web en una variable de shell?

  5. ¿Cómo insertar un texto al principio de un archivo?

Cómo cambiar automáticamente a un directorio sin usar el comando Cd en Linux

Cómo bloquear un archivo de texto en Linux usando el comando flock

Cómo eliminar el texto seleccionado en el editor vi

sed - cómo hacer grupos de expresiones regulares usando sed

Cómo eliminar caracteres que no son ascii usando sed

¿Cómo inserto texto en la primera línea de un archivo usando sed?