A principal função de um navegador (Crawler) é, como o nome indica, navegar na Web, seguindo os elos existentes entre páginas. Genericamente, este tipo de agentes é utilizado pelos motores de pesquisa, ou pelos sistemas de espelho de sítios Internet38, para
efectuarem a recolha sistemática de informação. A Figura 22 apresenta o Navegador, os agentes com que interage e as mensagens trocadas.
Página seleccionada Libertado
Explorador Navegador
Envia dados (estatísticas e grafo de navegação) Inicia navegação Pára navegação Libertado Qual o estado? Novo SAD Tutor HMI Estado Estatística e grafo Página seleccionada Libertado Explorador Navegador
Envia dados (estatísticas e grafo de navegação) Inicia navegação Pára navegação Libertado Qual o estado? Novo SAD Tutor HMI Estado Estatística e grafo
Figura 22 – Representação lógica do Navegador, dos agentes com que interage e respectivas mensagens
O comportamento genérico do agente, caracteriza-se por aguardar a sua configuração através de mensagens, passando em seguida ao estado de «apto para pesquisa», onde se mantém até receber a indicação do conjunto de sítios a pesquisar. A pesquisa é desencadeada pela recepção de uma mensagem, que contém a lista dos sítios-alvo e seus endereços. Por cada sítio, a página inicial é descarregada e processada, assim como todas as páginas que nela são referenciadas e assim sucessivamente. A pesquisa do sítio termina com a inexistência de novas referências ou com a recepção de uma mensagem de interrupção.
Com vista à efectivação do comportamento genérico o agente exibe o seguinte conjunto de comportamentos-base: i) Pesquisa; ii) Filtragem de informação; iii) Resposta à interface gráfica.
O comportamento de pesquisa pode alterar significativamente a eficiência do agente. Adequando a estratégia de navegação, é possível evitar pesquisas exaustivas e pouco produtivas, por condicionamento do percurso do agente, tendo em conta a informação encontrada. A título de exemplo, a pesquisa em profundidade é desadequada no caso da informação estar apresentada numa árvore de temas (i. e., cada ramo um tema, sem elos de ligação). Neste sentido, a existência de mecanismos que permitam alterar o comportamento de navegação do agente é determinante. O comportamento do Navegador pode ser condicionado pelo envio de mensagens que conduzem à alteração dos parâmetros apresentados na Tabela 4.
Parâmetro Valor de
omissão Descrição
Navigation method
Depth O Navegador pode realizar pesquisas em profundidade, (i. e., explorando em profundidade cada ramo da árvore) ou em extensão (i. e., pesquisando todos as páginas de cada nó).
Crawling method
Server Modo de selecção dos elos identificadas numa página com vista à sua inclusão na lista de análise. Server: selecciona elos exclusivamente para o próprio sítio; Sub-tree: selecciona todos os elos.
Depth 100 Profundidade máxima que o Navegador percorre em cada sítio Internet, (o valor 100 corresponde na prática a infinito).
Page Timeout 60 Seg. Tempo que o Navegador espera pelo carregamento de uma página; após esse tempo considera que a página não está acessível.
Page Size 100 Kbytes Dimensão máxima permitida para uma página; acima deste valor não é descarregada.
Crawl timeout -1 Máximo tempo de navegação (com o valor -1 este parâmetro é ignorado). Use browser
cache
Yes Recurso a páginas armazenadas em memória.
Threads 1 Número de processos independentes criados para realizarem análises de páginas em simultâneo.
Obey robot exclusion
Yes Definição do comportamento quanto ao protocolo de execução de Robot Exclusion
Protocol39
Ask user for passwords
Yes O Navegador solicita a palavra-chave sempre que for necessária.
Tabela 4 – Parâmetros de configuração do comportamento do Navegador
Os valores assumidos por omissão para os parâmetros definem o comportamento-base de pesquisa do agente no momento da sua activação. Os primeiros parâmetros condicionam o comportamento de navegação pela alteração do método de navegação, de selecção dos elos e da profundidade de pesquisa máxima admitida. O segundo grupo condiciona o processo de execução da navegação pela limitação de tempos de espera e de dimensão de páginas. Os restantes parâmetros estão relacionados com detalhes de implementação, (utilização de memória e processos) e de relacionamento do agente com o ambiente.
Para além do condicionamento do tipo de pesquisa, cabe ao Navegador, através de outro comportamento, a tarefa de filtragem e transferência de documentos relevantes para o agente Explorador.
A determinação da relevância dos documentos analisados é realizada através do seu sistema de apoio à decisão (SAD), previamente enviado pelo Agente Tutor. O SAD é armazenado num ficheiro XML que assegura um comportamento coerente na activação dos agentes, sem que seja necessária a interacção com o Tutor. Todavia, a possibilidade de envio por mensagem de um novo SAD permite alterar o seu comportamento assim que
39
Robot Exclusion Protocol – A inclusão de uma meta-marca de exclusão de robôs de pesquisa numa página de Internet,
desejado. A análise de relevância de um documento não é interrompida, no caso de ser recebido um novo SAD, pelo que a alteração só produzirá reflexos no documento seguinte. O navegador não possui uma interface gráfica, todavia permite a avaliação do seu desempenho através do comportamento de resposta a mensagens de interfaces gráficas. É, assim, da responsabilidade de quem quer monitorar o seu comportamento, a iniciativa de consultar a actividade do agente, o que é conseguido através do envio de mensagens. Em resposta o navegador devolve toda a informação sobre as páginas visitadas, que pode ser apresentada no formato mais adequado. O tipo de informação consultado está relacionada com o número de páginas percorridas e consideradas relevantes, assim como uma listagem exaustiva de todas as páginas consultadas (endereço, classificação atribuída e localização).
A interface desenvolvida para o Navegador, apresentada na Figura 23, permite controlar os parâmetros de execução e monitorar a evolução de uma pesquisa autónoma. Existem duas zonas principais: i) comandos genéricos; e ii) relatório de pesquisa.
Na zona superior da janela encontram-se os comandos genéricos: alteração da lista de endereços para pesquisa, início de pesquisa, libertação de Navegador e suspensão das pesquisas.
Na zona inferior da janela são apresentados os relatórios de pesquisa do Navegador em dois formatos distintos: em árvore e em directoria. A Figura 24 apresenta um relatório de progresso, capturando da esquerda para a direita a evolução de uma pesquisa, desde o inicio, somente com duas páginas analisados, até ao final. Como se pode observar os documentos analisados são representadas pelo símbolo de página, sendo marcados a cinzento todos os documentos considerados relevantes.
Figura 23 – Apresenta um exemplo da evolução de uma pesquisa, na versão de directoria de páginas. A cinzento estão as páginas que foram classificadas como relevantes
Figura 24 – Apresenta um exemplo da evolução de uma pesquisa, na versão de árvore de páginas. A cinzento estão as páginas que foram classificadas como relevantes
A Figura 24, apresenta o mesmo exemplo, agora em formato de directoria. Neste caso, os documentos analisados são apresentados numa estrutura hierárquica, estando marcados a cinzento, uma vez mais, os documentos considerados com relevantes pelo Navegador. O pacote WebSPHINX foi utilizado no desenvolvimento do Navegador por disponibilizar um navegador genérico, circunscrevendo assim o desenvolvimento à programação dos comportamentos do agente que condicionam o processo de selecção de documentos relevantes.