Cómo generar el código fuente html de una página web en un archivo

Cómo generar el código fuente html de una página web en un archivo

Mi objetivo es generar una fuente html en un archivo, estoy usandow3mpara navegar por la web desde la terminal.

Cuando se utiliza el siguiente comando en la terminal: w3m <url> -dumpel programa muestra el sitio web de forma no interactiva, pero no su fuente html.

Si abre un sitio web con w3m <url>, el terminal mostrará el sitio y si presionav, entonces el programa mostrará la fuente html. Intenté crear un script pero sin éxito. Pensé que el argumento de la línea de comando -dump_sourceme ayudaría, pero lo único que obtuve es un contenido de lectura no humano, no sé qué -dump_sourcese suponía que debía devolver.

Esto es lo que probé hasta ahora:

  • Úselo -T text/htmlcon -dumpen la terminal pero la salida no cambió
  • Úselo -T text/plaincon -dump_sourceen la terminal con la esperanza de que la salida no humana se convierta en texto sin formato, pero no tuvo éxito (no entendí para qué se usa -T, incluso después de leer el manual de w3m escribiendo man w3men la terminal)
  • sabiendo que presionarvmientras w3m muestra un sitio web que cambia del contenido de la página web al código fuente html, intenté usargdbpara adjuntarlo al proceso w3m y redirigir suentrada estándarysalida estándara mis archivos (input.txt, output.txt) cuyo input.txt contiene un solov, pero no tuve éxito. Hacer esto en mi programa de prueba funcionó como se esperaba. Seguí lo descritoaquí. Si escribo ls -l /proc/<w3m_pid>/fd, donde w3m_pid es mi ID de proceso w3m que obtuve usando ps axen la terminal, puedo ver que hay 3 descriptores de archivos, si intento redirigir el tercero, el programa falla y muestra:Se produjo un error: errorno=25
  • Redirigir la E/S estándar w3m <url> < input.txt > output.txttampoco funcionó
  • W3M utiliza combinaciones de teclas para navegar en la web, lo que significa que si presionavno es necesario presionar Enter, el terminal no almacena en el búfer la entrada, usando gdb adjunto al proceso w3m intenté eliminarlo usando p system ("/bin/stty cooked"), pero la combinación de teclas de w3m no cambió.

Mi pregunta es: ¿por qué redirigir E/S con gdb no funciona y qué puedo hacer para obtener el código fuente html? ¿w3m tiene una opción para generar el código fuente html que me falta o tendría que usar otro programa?

PD: necesito el código fuente html para una tarea universitaria, con el código fuente html puedo crear un script para navegar por la web y generar la página en un archivo, luego se supone que debo usar esas salidas con flex para extraer información estática sobre cosas. en la web, como: ¿cuántas palabras aparecen en las preguntas sobre el lenguaje c? Esta es mi idea.

Cualquier sugerencia sera apreciada.

Versión W3M:0.5.3+debian-15

Versión BGF:7.7.1

Versión de Ubuntu:14.04

¡Gracias de antemano!

Respuesta1

¿Por qué no puedes usar curl?

curl web-address > file-source.

generará el código fuente en elfile

Como esto

curl http://askubuntu.com/questions/822139/how-to-output-web-page-html-source-code-into-a-file > source-html

Respuesta2

Esto ya ha sido respondido en:https://askubuntu.com/a/1273410/1124534

w3m -o accept_encoding=UTF-8 -dump_source google.com >file

información relacionada