2012-09-14 3 views
17

Sono un principiante di Linux. Per favore, aiutami a convertire una pagina html in un file di testo. il file di testo rimuoverà qualsiasi immagine e link dalla pagina web. Voglio usare solo comandi bash e non html per gli strumenti di conversione del testo. Ad esempio, voglio convertire i risultati della ricerca google della prima pagina per "computer".comando bash per convertire la pagina html in un file di testo

Grazie

+4

[Che cosa hai provato] (http://mattgemmell.com/2008/12/ 08/cosa-sono-si-provato /)? – ghoti

+0

Probabilmente non riuscirai a farlo solo con "comandi bash", probabilmente avrai almeno "sed" o "awk". Non dicendo che non è possibile fare con semplici buildh bash, ma certamente non è fattibile. – lanzz

risposta

18

Hai html2text sulla riga di comando.

Usage: 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

penso link è lo strumento più comune per fare questo. Controlla i collegamenti man e cerca testo semplice o simile. -Dump è la mia ipotesi, cerca anche quello. Il software viene fornito con la maggior parte delle distribuzioni.

18

Il modo più semplice è quello di utilizzare qualcosa di simile, che la discarica (in breve è la versione testo HTML visualizzabile)

file remoto

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

file locale

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

Ho appena installato lynx per fare questo, e tutto quello che ottengo è l'HTML originale scaricato ... – Alex

+0

https://linux.die.net/man/1/lynx Potrebbe essere un bug insicuro, so che funzionava – Vahid

+0

Leggere la pagina di commento: '-dump: dump l'output formattato del documento predefinito'-- Prendo il comando" formattato "significa, con tutti i tag html ... – Alex

3

Usando sed

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

Grazie.questo è veramente utile tuttavia, ciò non ha funzionato quando lo schema <....> è più di una riga. –

+0

Produrrà anche il contenuto di elementi come

7

su OSX è possibile utilizzare lo strumento da riga di comando chiamato textutil per convertire in batch file html in formato txt:

textutil -convert txt *.html 
Problemi correlati