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.525 ]

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

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

Gravando mp3 usando o XMMS

Criando sites com o Zope

Leitura recomendada

Network Mapper - Nmap

NTLMAPS: NTLM Authorization Proxy Server

Aplicações WEB com Prisma [Mozilla Labs]

Imspector, um proxy para mensageiros instantâneos no Linux

Ubuntu Completo e Total

  
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