contato: [email protected]
A criação deste documento tem como finalidade auxiliar os usuários iniciantes e até alguns mais esperientes em uma das ferramentas mais exoticas do Linux, o navegador em modo texto Lynx. Mas pra que usar um navegador em modo texto????????
Pelas palavras do proprio Aurelio:
" se você está navegando despreocupadamente, a passeio, e com um link rápido, não tem muita graça mesmo, use o netscape. mas se você está com o tempo curto, fazendo pesquisas na internet e num link lento, para que perder tempo com vários tipos de fonte , tamanhos, cores, formatação desnecessária, imagens gratuitas, banners, flash, shockwave, javascript, e outras novidades tecnológicas inúteis que inventarão? "
Enfim, temos que reconhecer que um navegador em modo texto tem seu valor, mais ainda do que se imagina, pois com os parametros adequados podemos redirecionar um trecho especifico de uma página para um script, isso por si só já é uma grande vantagem, quem é "shelleiro" sabe disso. Aqui veremos alguns exemplos prático do lynx de acordo com os parametro especificados que veremos, espero que a leitura seja proveitosa, este documento ainda está engatinhando, mas vai crescer a maneira que novas descobertas forem sendo feitas.
Como já vimos, o Lynx é um navegador em modo texto onde você pode se conectar a qualquer site da internet pelo seu terminal de trabalho por exemplo, ele foi desenvolvido na Univesidade do Kansas - Estados Unidos para, dentre outras tarefas, possibilitar uma navegação rápida caso se queira ler o conteúdo de uma página sem precisar abrir outro navegador. A seguir veremos um pouco mais que o lynx pode oferecer.
Opções do Menu Inicial
Ao iniciar o lynx chamando o programa na linha de comando aparecerá uma página com alguns links de ajuda do navegador, para escolher algum deles basta mover a seta do teclado para cima ou para baixo eai seta para direita para seguir o link e seta para esquerda para voltar.
menu inicial do lynx
Caso queira que seja exibido alguns topicos de ajuda digite no teclado "h" ( de help ) que, caso você esteja navegando em elgum site, mostrará a tela inicial do lynx como se você tivesse ativade ele sem nenhum endereço.
Para buscar algum conteúdo na página a qualquer momento digite "/" seguida do que se deseja achar e de <ENTER>, esta opção é muito parecida com a do VI.
Para acessar algum site primeiro digitamos "g" ( de Go ) no teclado e em seguida digitamos o endereço da URL.
Digitando a letra "p" mostramos as opções de impressão, onde podemos salvara página, envia-la por e-mail, etc.
Caso não tenha sido especificado nenhum parametro na chamada do programa, digitando "o" teremos as opções de configuração do navegador.
Quando a navegação está bastante avançada e você precisa voltar a página inicial basta digitar "m" para voltar tudo.
Podemos também especificar uma URL logo na chamada do programa, como por exemplo:
user@linux~$ lynx www.google.com
Caso nenhum parametro seja especificado, antes de acessar o site o navegador pergunta se quer aceitar cookies da página especificada.
Algumas Opções de Parametros
Aqui veremos algums opções de parametros que podem ser inseridos na linha de comando junto com a chamada do programa para que sejam realizadas determinadas ações. São elas:
-accept_all_cookies - Use este parametro para que o lynx aceite todos os cookies que a página tenta enviar, sabemos que cookiessão sempre um assunto polêmico se tratando de internet, vai de cada um aceitar os cookies da página ou não.
-case - Abilita o modo case-sensitive enquanto o lynx estiver ativo nessa navegação.
-color - Usa, se estiver disponiver, o modo colorido que diferencia por cores os links, imagens, textos, etc...
-dump - Modo que retira o texto da página desabilitando os tags do HTML, muito bom para ser usado em scripts.
-nolist - Desabilita a lista de links destacados no dump.
-source - Faz a mesma coisa que o dump, mas mantém as caracteristicas de HTML da página.
-use_mouse - Permite, se desponivél a utilização do mouse na navegação.
-width=NUMBER - Especifica o tamanho de colunas para formatação do dump, por padrão o número é 80.
Talvez o mais conhecido exemplo que circula na internet de como utilizar o poder do lynx em um script sejam as FunçõesZZ http://funcoeszz.net/ escritas em conjunto entre o Aurélio e o Thobias, um programa que usa e abusa do lynx para buscar informações em sites e mostra-las na tela do terminal. Claro que não vou nem arriscar a fazer algo equivalente, mas tentarei dar alguns exemplos de utilização dessas duas ferramentas em conjunto.
Aqui temos um exemplo de utilização do lynx que é usado para acessar páginas da web e em conjunto com comandos que filtram texto, mostram informações na tela do terminal. plasinfo.bsh
O navegador lynx tem algumas particularidades na sua execução em linha de comando como por exemplo:
- Colocar a linha de comando em background quando existe um endereço com um "&" no meio.
Exemplo: http://www4.climatempo.com.br/site/espelho.php?estados=SP&pg=capitais&pc=estadao
Para resolver isto basta colocar uma barra invertida antes do "&" negando-o como se faz em expressões regulares por exemplo, ficando desta maneira:
http://www4.climatempo.com.br/site/espelho.php?estados=SP\&pg=capitais\&pc=estadao
Assim a linha de comando reconhece o "&" como um caracter do proprio endereço web.
Efetuando pesquisas
Uma maneira bem legal de efetuar pesquisas em páginas como a do google por exemplo, é passar todo o preencimento dos campos de pesquisa pelo endereço que vai na linha de comando, por exemplo:
Pelo navegador ( no meu caso o Mozilla Firefox ), vamos pesquisar a palavra "Linux" no site do google usando as opções de pesquisa, ( Palavra Linux, páginas em português do Brasil ) e mandar pesquisar. Note que a barra de endereço mostra algo assim:
"http://www.google.com.br/search?hl=pt-BR&q=Linux&btnG=Pesquisa+Google&meta=cr%3DcountryBR"
Agora se dermos um Ctrl+i na página inicial do google aparecerá uma caixa com informações sobre a página, selecionando a aba Form podemos ver umas colunas onde mostra-se algo mais ou menos assim:
| Label | Field Name | Type | Current Value |
|---|---|---|---|
| hl | hidden | pt-BR | |
| q | text | Linux | |
| btnG | submit | Pesquisa Google | |
| btnl | submit | Estou com Sorte | |
| a web | meta | radio | |
| páginas em português | meta | radio | lr=lang_pt |
| páginas do Brasil | meta | radio | cr=countryBR |
Ao analisar aos campos que o google usa e a linha que aparece no navegador podemos perceber que o mecanismo de busca do google simplesmente completa os campos para a pesquisa, onde o campo text vai a palavra ou expressão que se está procurando, nada mais natural. A partir dai conseguimos criar um script para efetuar esta mesma pesquisa sem precisar do navegador, não conseguimos? "Claro que sim..."
Então vamos lá:
#! /bin/bash
#
# Script simples que faz pesquisas no site 'http://www.google.com'
#
# Criado para simples didática, sem tratativas de erro ou melhorias similares
#
LYNX="/usr/bin/lynx" WORD=$1
SEARCH=$($LYNX -dump http://www.google.com.br/search?hl=pt-BR&q=$WORD\&btnG=Pesquisa+Google\&meta=cr%3DcountryBR | sed 's/\[.*\]//g')
# Um 'sedzinho' no final para remover os lixos deixados pelo lunx
echo "$SEARCH"