Existe uma ferramenta Bash simples que pode renderizar rapidamente HTML básico?


38

De tempos em tempos, preciso executar uma tarefa simples na qual produzo HTML básico no console. Eu gostaria que fosse renderizado minimamente, para facilitar a leitura rápida. Existe um utilitário que possa lidar com a renderização HTML básica no shell (pense na renderização no estilo Lynx - mas não em um navegador real)?

Por exemplo, às vezes eu coloco um watchna mod_statuspágina do Apache :

watch -n 1 curl http://some-server/server-status

A saída da página é HTML com alguma marcação mínima, que é mostrada no shell como:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html><head>
<title>Apache Status</title>
</head><body>
<h1>Apache Server Status for localhost</h1>

<dl><dt>Server Version: Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.15 with Suhosin-Patch</dt>
<dt>Server Built: Jul 22 2014 14:35:25
</dt></dl><hr /><dl>
<dt>Current Time: Wednesday, 19-Nov-2014 15:21:40 UTC</dt>
<dt>Restart Time: Wednesday, 19-Nov-2014 15:13:02 UTC</dt>
<dt>Parent Server Generation: 1</dt>
<dt>Server uptime:  8 minutes 38 seconds</dt>
<dt>Total accesses: 549 - Total Traffic: 2.8 MB</dt>
<dt>CPU Usage: u35.77 s12.76 cu0 cs0 - 9.37% CPU load</dt>
<dt>1.06 requests/sec - 5.6 kB/second - 5.3 kB/request</dt>
<dt>1 requests currently being processed, 9 idle workers</dt>
</dl><pre>__W._______.....................................................
................................................................
................................................................
................................................................
</pre>
<p>Scoreboard Key:<br />
"<b><code>_</code></b>" Waiting for Connection,
"<b><code>S</code></b>" Starting up,
"<b><code>R</code></b>" Reading Request,<br />
"<b><code>W</code></b>" Sending Reply,
"<b><code>K</code></b>" Keepalive (read),
"<b><code>D</code></b>" DNS Lookup,<br />
"<b><code>C</code></b>" Closing connection,
"<b><code>L</code></b>" Logging,
"<b><code>G</code></b>" Gracefully finishing,<br />
"<b><code>I</code></b>" Idle cleanup of worker,
"<b><code>.</code></b>" Open slot with no current process</p>
<p />

Quando exibido no Lynx, o mesmo HTML é renderizado como: Status do Apache (p1 de 2) Status do servidor Apache para host local

   Server Version: Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.15 with Suhosin-Patch
   Server Built: Jul 22 2014 14:35:25
     ________________________________________________________________________________________________________

   Current Time: Wednesday, 19-Nov-2014 15:23:50 UTC
   Restart Time: Wednesday, 19-Nov-2014 15:13:02 UTC
   Parent Server Generation: 1
   Server uptime: 10 minutes 48 seconds
   Total accesses: 606 - Total Traffic: 3.1 MB
   CPU Usage: u37.48 s13.6 cu0 cs0 - 7.88% CPU load
   .935 requests/sec - 5088 B/second - 5.3 kB/request
   2 requests currently being processed, 9 idle workers

_C_______W_.....................................................
................................................................
................................................................
................................................................

   Scoreboard Key:
   "_" Waiting for Connection, "S" Starting up, "R" Reading Request,
   "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
   "C" Closing connection, "L" Logging, "G" Gracefully finishing,
   "I" Idle cleanup of worker, "." Open slot with no current process

2
Não bashexatamente, mas confira Xiki , ele faz isso e muito mais
aarosil

xiki parece incrível.
MountainX

Respostas:


50

lynxtem um modo "despejo", que você pode usar com watch:

$ watch lynx https://www.google.com -dump

captura de tela da saída

De man lynx:

   -dump  dumps  the  formatted  output  of  the default document or those
          specified on  the  command  line  to  standard  output.   Unlike
          interactive mode, all documents are processed.  This can be used
          in the following way:

          lynx -dump http://www.subir.com/lynx.html

          Files specified on the command line are  formatted  as  HTML  if
          their  names  end  with one of the standard web suffixes such as
          “.htm or “.html”.  Use the -force_html option to  format  files
          whose names do not follow this convention.

Esta pergunta Ask Ubuntu tem muito mais opções.


2
lince é ótimo. é também uma ferramenta muito útil quando sua conexão é muito ruim e você precisa ir verificar um site para algo - sem imagens, scripts ou CSS faz para um carregamento de página rápida
jammypeach

12

w3mé outro programa que tem uma --dumpopção.

É o navegador da web mais popular do Emacs back-end.


8

Existem pelo menos dois programas chamados html2text( 1 ) ( 2 ) que fazem esse trabalho.


De fato, mas - se disponível - a saída de w3mé muito mais bonita esp. para mesas.
Suuuehgi

5

elinkstem -dumpmodo também

elinks -dump https://www.google.com

Veja também linksem que elinksse baseia. O mesmo comando funciona ...
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.