Usando o Lynx para atualizar informações no seu site

O lynx é um navegador somente de modo texto, ideal para pegar informações rápidas. Neste artigo mostro um exemplo de como atualizar seu site com a cotação do dólar utilizando o lynx em conjunto com o awk, sem a necessidade de conhecimento de linguagens de programação.

[ Hits: 26.507 ]

Por: Mauricio em 25/01/2003 | Blog: http://www.mbmaciel.com


Introdução



Trabalhar com o auxílio da internet para obter informações já virou rotina para muitos e neste ramo o navegador lynx já se tornou uma ferramenta indispensável.

Você pode fazer o download do software a partir da URL abaixo: Como bom navegador de texto que é, ele nem tenta carregar as imagens da página, interpretar javascript, flash e outras "linguagens de programação" similares, exibindo desta forma o conteúdo da página de forma mais rápida que qualquer navegador gráfico.

Além das características acima, ele ainda não precisa se preocupar com tamanho, cores e tipos de fontes, desenho de frames e linhas de tabela. Dessa forma o texto é "cuspido" rapidamente na tela e é claro, temos texto e somente texto na tela.

O output do lynx (conteúdo do site) pode ser gravado num arquivo texto com o comando p (de Print), nos permitindo "grepá-lo" (uso do grep) ou editá-lo facilmente em busca das informações desejadas.

Uma tarefa bem comum, é uma extração automatizada de dados a partir de uma página qualquer, digamos, uma que tenha a cotação diária do dólar no meio da página. Depois de quilos de banners de propaganda e links de navegação do site, temos a seguinte linha:

Dólar Paralelo  3.5  3.6   24/1/2003   1.4%

Queremos então extrair diariamente as cotações de compra e venda para colocar num documento local. Mas e agora, como extrair apenas um trecho de uma página da internet? Simples, veja um exemplo abaixo:

lynx -dump www.sitesobreeconomia.com.br/mercados/tiposdedolar.asp | grep Paralelo | awk '{print "compra " $3 "<br>venda " $4}' >> /var/www/default/seusite/cotacao.htm

Explicando:
  • o endereço do site pode ser de qualquer um que tenha informações atualizadas diariamente sobre cotação do dólar.
  • o comando grep é utilizado para pegar somente a linha que nos interessa.
  • o comando awk formata essa linha pegando somente os valores desejados, neste caso a cotação de compra e venda do dólar, que são os terceiro ($3) e quarto ($4) campos, respectivamente.
  • finalmente, direcionar a saída de awk para um arquivo em seu site, para que o mesmo possa ser lido posteriormente.
A página cotacao.htm terá o seguinte conteúdo:
compra 3.5
venda 3.6

Você pode adaptar facilmente esse comando para ter informações sobre meteorologia, notícias, cotações e sem precisar saber nada sobre php, xml, rss, etc.

Finalmente, combine o comando explicado com o crontab para que sua página esteja sempre atualizada, mas não se esqueça que nos finais de semana o dólar não muda :)

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Gravando mp3 usando o XMMS

Criando sites com o Zope

Impressione seus amigos mudando as músicas no seu computador pelo celular

Como hospedar um site no seu próprio micro

Criando um banner em flash no Linux

Leitura recomendada

VNC + Hamachi

VPN (filial) autenticando e usando o proxy do servidor de VPN (matriz)

Instalando o MSN-Proxy 0.7 no OpenSuSE 11.1 Linux

Relato I Fórum da Revista Espírito Livre

Virtual Host com Apache

  
Comentários
[1] Comentário enviado por rickcoelho em 25/11/2003 - 11:08h

Como usar o Lynx para passar informações para ASP e receber o resultado.

Por exemplo preencher um formulário com o nome e senha e receber a página para aí sim usar o grep e awk?

Obrigado pela atenção,

Ricardo Coelho,
informatica@vejaqui.com.br

[2] Comentário enviado por _m4n14c_ em 08/04/2005 - 15:21h

Se o formulario suportar o metodo get eh muito simples:
suponha que o formulario seja assim:
<form method=get action="www.site.com/script.asp">
<input name=nome type=text><br>
<input name=pass type=password>
</form>

Voce passa o site para o lynx como http://www.site.com/script.asp?nome=seunome&senha=suasenha

Se o metodo do formulario for GET isso certamente vai funcionar, se for POST pode funcionar ou nao, mas deve ter alguma opção para usar o metodo POST na requisicao (nao posso verificar isso agora porque estou escrevendo do meu trabalho e aqui so se usa ruindows...)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts