I am under Linux and I want to fetch an html page from the web and then output it on terminal. I found out that html2text
essentially does the job, but it converts my html to a plain text whereas I would better convert it into ansi colored text in the spirit of ls --color=auto
. Any ideas?
The elinks
browser can do that. Other text browsers such as lynx
or w3m
might be able to do that as well.
elinks -dump -dump-color-mode 1 http://example.com/
the above example provides a text version of http://example.com/
using 16 colors. The output format can be customized further depending on need.
The -dump
option enables the dump mode, which just prints the whole page as text, with the link destinations printed out in a kind of "email-style".
-dump-color-mode 1
enables the coloring of the output using the 16 basic terminal colors. Depending on the value and the capabilities of the terminal emulator this can be up to ~16 million (True Color). The values are documented in elinks.conf(5).
The colors used for output can be configured as well, which is documented in elinks.conf(5) as well.
The w3m browser supports coloring the output text.
lynx
also does but I only need to output the page and not to browse it. –
Rupture w3m
has a -dump
-like option too, and elinks
does as well. It's just a matter of choosing the one you are most comfortable with. –
Edouard You can use the lynx browser to output the text using this command.
lynx -dump http://example.com
lynx -dump
to also include color? At least on my distro, lynx
is compiled against ncurses
, and uses ncurses
completely to determine when to use color; I couldn't get it to dump color output. –
Richter lynx -dump somefile.html < <( echo -n qj) > out; cat out
and variants thereof to no avail. Just to let you know that doesn’t work either. So unless you hack ncurses
… But then installing elinks
is probably less of a hassle again. ;) –
Scarf © 2022 - 2024 — McMap. All rights reserved.
elinks
does not automatically reset the terminal colors, resulting any subsequent output (from a script or terminal) to be the same color as the end of theelinks
output until a new color code is encountered. You can reset manually by executingtput sgr0
afterelinks
. – Kerianne