2012-09-14 32 views
17

Soy un principiante de Linux. ¿Podría ayudarme a cómo convertir una página html en un archivo de texto? el archivo de texto eliminará cualquier imagen y enlace de la página web. Solo quiero usar comandos bash y no html para convertir texto. Como ejemplo, quiero convertir los resultados de búsqueda de la primera página de google para "computadoras".comando bash para convertir la página html en un archivo de texto

Gracias

+4

[¿Qué has intentado] (http://mattgemmell.com/2008/12/ 08/what-have-you-tried /)? – ghoti

+0

Es probable que no puedas hacerlo solo con "comandos bash", probablemente necesites al menos 'sed' o' awk'. No digo que no sea posible hacerlo simplemente con bash builtins, pero ciertamente no es factible. – lanzz

Respuesta

18

Tienes html2text en la línea de comandos.

Uso: html2text.py [(filename|url) [encoding]]

Options: 
    --version    show program's version number and exit 
    -h, --help   show this help message and exit 
    --ignore-links  don't include any formatting for links 
    --ignore-images  don't include any formatting for images 
    -g, --google-doc  convert an html-exported Google Document 
    -d, --dash-unordered-list 
         use a dash rather than a star for unordered list items 
    -b BODY_WIDTH, --body-width=BODY_WIDTH 
         number of characters per output line, 0 for no wrap 
    -i LIST_INDENT, --google-list-indent=LIST_INDENT 
         number of pixels Google indents nested lists 
    -s, --hide-strikethrough 
         hide strike-through text. only relevent when -g is 
         specified as well 
3

creo enlaces es la herramienta más común de hacer esto. Compruebe los enlaces man y busque texto sin formato o similar. -dump es mi suposición, busca eso también. El software viene con la mayoría de las distribuciones.

18

La manera más fácil es usar algo como esto, que el vertedero (en pocas palabras es la versión de texto de HTML visible) de archivos remoto

lynx --dump www.google.com > file.txt 
links -dump www.google.com 

archivo local

lynx --dump ./1.html > file.txt 
links -dump ./1.htm 
+0

Acabo de instalar lince para hacer esto, y todo lo que obtengo es el HTML original volcado ... – Alex

+0

https://linux.die.net/man/1/lynx Puede ser un error inseguro, sé que solía funcionar – Vahid

+0

Leyendo la página de comentarios: '-dump: vuelca la salida formateada del documento predeterminado'-- Lo tomo" formateado "significa, con todas las etiquetas html ... – Alex

3

usando sed

sed -e 's/<[^>]*>//g' foo.html 
+2

Gracias.esto es realmente útil. sin embargo, esto no funcionó cuando el patrón <....> es más de una línea. –

+0

También dará salida a contenidos de elementos tales como

7

en OSX puede utilizar la herramienta de línea de comandos llamada textutil para convertir por lotes archivos HTML a formato TXT:

textutil -convert txt *.html 
Cuestiones relacionadas