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.
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:
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:
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.
compra 3.5
venda 3.6
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çãoOutros artigos deste autor
Criando um banner em flash no Linux
Impressione seus amigos mudando as músicas no seu computador pelo celular
Leitura recomendada
Instalação do serviço de NTP (servidor de tempo) no Debian
Aircrack-ng e sua família para quebrar WEP e WPA1
Comentários
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...)
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...)
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