CEPTRO.br

Ir para o conteúdo

Estudos da Web .br

censo-web-p.png

O CEPTRO realiza, em conjunto com outras áreas do NIC.br, estudos sobre a Web Brasileira, definida neste contexto como a Web formada pelos sítios .br. A equipe tem a responsabilidade de coordenação técnica do projeto, desenvolvendo e executanto as ferramentas para a obtenção e análise dos dados.

Um estudo da Web brasileira pode ajudar a responder a várias questões, complementando e servindo de subsídio para outras ações. Por exemplo:



NOVIDADE!

Foram liberados em formato Open Source os sistemas utilizados na pesquisa:


Veja as apresentações sobre o projeto:

ico-censo-web.jpg


Lançado o primeiro resultado do projeto, o texto: "Dimensões e características da Web brasileira: um estudo do .gov.br". Clique na imagem para ir à página de download.

Um dos tópicos analisados foi a aderência aos padrões do W3C e de acessibilidade. Dos 6,3 milhões de páginas HTML coletadas, cerca de 91% apresentaram mais de uma incorreção de aderência ao padrão HTML, e apenas 5% estão completamente de acordo com o padrão. A avaliação da aderência aos padrões de acessibilidade WCAG (Web Content Accessibility Guidelines), mostrou que 98% não apresentaram nenhuma aderência aos padrões de acessibilidade.

Entre os sítios analisados, nenhum está disponível via protocolo IPv6. O protocolo substituirá a versão predominante atualmente, o IPv4, que só conseguirá dar suporte ao atual ritmo de expansão da Internet por mais um ou dois anos.



Introdução

A Web pode ser considerada um dos maiores sistemas criados pelo homem. Como sistema e ferramenta, ela interfere em praticamente todas as atividades humanas, com forte inserção em áreas como comunicação, ensino, pesquisa, economia, direito e serviços. O uso da Web é crescente e ainda incipiente. A Web brasileira certamente acompanha este crescimento, com o particular atrativo de que o cidadão brasileiro é o que passa mais tempo na Internet e na Web em todo o mundo na atualidade.

Participam deste projeto o Governo Federal por meio da Secretaria de Logística e Tecnologia da Informação do Ministério do Planejamento, Orçamento e Gestão (SLTI / MPOG), o Comitê Gestor da Internet no Brasil, por meio do W3C Brasil, do CEPTRO e do CETIC, e o Instituto Nacional de Ciência e Tecnologia para a Web (INCT Web), sediado na Universidade Federal de Minas Gerais (UFMG).

O objetivo é contribuir para o estudo e evolução da Web brasileira e mundial. Entender o crescimento e o potencial da Web, bem como suas implicações na sociedade é tema de interesse dos participantes do projeto e de pesquisadores da área. Os resultados deste projeto serão importantes para o planejamento das pesquisas e o desenvolvimento de projetos na Web brasileira, bem como instrumento de medida e acompanhamento das políticas públicas governamentais na área de governo eletrônico. A proposta é que o projeto se constitua em um trabalho contínuo que poderá servir de base de consulta atualizada para as instituições públicas, privadas, academia e a sociedade em geral. Histórico

A motivação para realização desse projeto surgiu simultaneamente em duas frentes diferentes:

O CEPTRO, Centro de Estudos e Pesquisas de Tecnologias de Redes e Operações do NIC.br, havia realizado em meados de 2008 um estudo na base de domínios .br, procurando entender a proporção de sítios Web hospedados no país e fora dele. Esse estudo demonstrou que 40% dos domínios .br estavam vinculados a endereços IP designados a entidades fora do país. Esse resultado mostrou a necessidade de um estudo mais profundo para entender melhor essa questão e responder a outras, ligadas à infraestrutura sobre a qual a Web brasileira se apóia, como: Qual a relação entre os sites fora do Brasil e outras variáveis, como seu tamanho ou importância? Com que velocidade o IPv6 está sendo implantado nessa infraestrutura? Como está a qualidade da sincronização de tempo dessa infraestrutura à Hora Legal Brasileira? No final de 2008, então, o CEPTRO começou a engendrar um projeto para realizar esses estudos, iniciando testes em ferramentas de coleta de dados de páginas Web (Web crawlers), disponíveis em código aberto, para identificar as limitações e possibilidades de levantamentos desse tipo.

Por sua vez, também no final de 2008, o Governo Federal também interessou-se pelo tema, por conta da demanda da diretoria de Governo Eletrônico da Secretaria de Logística e Tecnologia da Informação (SLTI / MPOG) para gerar indicadores de sítios da Web brasileira sob o sub-domínio “.gov.br” que permitissem avaliar a adesão dos sítios do governo federal aos padrões do ePING (interoperabilidade) e eMAG (Modelo de Acessibilidade de Governo Eletrônico). Como até o presente momento não existem estudos completos e bem qualificados acerca do tema, o W3C Escritório Brasil manifestou interesse em ampliar o projeto para contemplar toda a Web brasileira de forma a permitir que os resultados do projeto sejam mais úteis e aplicados aos interesses dos governos, da academia e da indústria nacional.

Os projetos do CEPTRO e W3C eram complementares e havia muitos pontos de sobreposição, de forma que achou-se por bem unificá-los. O W3C assumiu então um papel de articulador, agregando novos atores ao projeto, como a Secretaria Executiva do e-PING (Padrões de Interoperabilidade do Governo Federal), a Associação Brasileira de Entidades Estaduais de TICs (ABEP) e convidou a Universidade Federal de Minas Gerais (UFMG), através do INCT Web, para apoiar o projeto metodologicamente.

O INCT Web, conhecido também como INWeb, é uma rede integrada de pesquisadores que foi criada para projetar e desenvolver sistemas, tecnologias e aplicações que permitam explorar as possibilidades de uso da Web no futuro de forma benéfica para a sociedade. O INCT Web visa estudar e entender os fundamentos científicos e tecnológicos da Web, bem como suas repercussões sociais, para propor e desenvolver sistemas e tecnologias que poderão compor a Web do futuro.

Hoje, o projeto Censo da Web Brasileira (.BR) tem um grupo base participante que estabeleceu as premissas do projeto e um Conselho Consultivo que orienta, valida e atualiza os objetivos, os resultados e os produtos.

O grupo base, além de fazer a coordenação geral, tem também seus papéis específicos assim distribuídos: Comitê Gestor da Internet no Brasil:

O grupo que atua como Conselho Consultivo é um grupo de especialistas que colaboram na validação do que está sendo feito, provendo consistência e confiabilidade aos resultados. É um grupo aberto, ao qual podem ser agregados participantes na medida em que especialistas sejam relevantes para o projeto.

Participam hoje do Conselho Consultivo: - ABEP – Associação Brasileira de Entidades Estaduais de Tecnologia da Informação e Comunicação - Caixa Econômica Federal - PRODESP – Companhia de Processamento de Dados do Estado de São Paulo - PRODERJ – Centro de Processamento de Dados do Rio de Janeiro

O objetivo geral deste projeto é criar e divulgar indicadores de todos os sítios hospedados sob o domínio “.br”, considerando os requisitos definidos por um conselho consultivo representando diversos segmentos interessados.

Ferramentas para o estudo da Web “.br”

Com a finalidade de se realizar um estudo da Web brasileira, são necessárias ferramentas para:

Para o presente projeto houve uma fase de estudo e experimentação, onde avaliou-se a possibilidade de uso de ferramentas pré-existentes, que economizassem tempo de desenvolvimento. Dentre essas ferramentas, foram avaliadas:

Todas as ferramentas avaliadas apresentavam prós e contras para o uso no projeto, e todas exigiriam desenvolvimento adicional e modificações. O WIRE apresentava a vantagem de ser rápido e trazer uma série de ferramentas de análise já integradas, com resultados relevantes para a pesquisa; seu ponto fraco era a escalabilidade. O Heritrix tinha como vantagem o sistema de armazenamento dos arquivos, que trazia escalabilidade e garantia a integridade dos dados. O Nutch era escrito em Java e trazia a possibilidade de trabalhar com uma modalidade de clusterização. Levando em consideração o escopo do projeto, o ponto fraco do Heritrix e do Nutch era que as ferramentas foram construídas com finalidades distintas, não incorporando ferramentas para a análise dos dados.

Escolheu-se o WIRE como base para o projeto.


Wire

O Wire é um projeto acadêmico do Centro para a Pesquisa da Web, da Universidade do Chile. Ele já foi utilizado com sucesso para a análise de diversas Web nacionais, inclusive da brasileira.

O Wire integra um WebCrawler, ferramentas para armazenamento, análise dos dados e geração de relatórios.

O componente principal do WIRE é um Web Crawer, ou seja, um programa que varre páginas da web buscando informações. No caso, o que o WIRE busca é o próprio conteúdo das páginas e seus metadados, a fim de gerar um grande conjunto de analises sobre a situação das páginas e Web Sites varridos. Ele foi desenvolvido em linguagem C++ e é operado via terminal de comando do linux.

Em sua execução normal trabalha de forma cíclica executando sequencialmente os subprogramas seeder, manager, harvester e gatherer. E, ele é iniciado com um arquivo semente contendo as URLs de diversas páginas e sites. O software é bastante configurável, através de parâmetros em um arquivo XML, permitindo, por exemplo, limitar a profundidade da busca por páginas, o domínio de interesse, o tempo entre acessos, entre diversos outros parâmetros. A seguir está descrito o funcionamento de cada parte do programa.

As rotinas do programa seeder compreendem o recebimento de uma lista de links e, a partir dela, verificar se os links já foram contabilizados no programa e em seguida decidir o que será feito com cada um deles. Para realizar tal decisão, é realizada a análise dos domínios e extensões das URLs recebidas. As principais configurações do seeder envolvem a escolha do conjunto de domínios que será varrido pelo Web Crawler. A classificação das extensões de arquivos entre páginas dinâmicas e estáticas, extensões de arquivos de imagens, de documentos de texto, entre outros. Tal classificação, serve para especificar o que será ou não baixado e analisado durante a execução do WIRE.

O manager fica encarregado de gerar a lista de tudo o que deverá ser baixado na execução seguinte do harvester. Ele verifica a lista de pendências gerada pelo seeder e a organiza para a execução do download. Além disso, ele analisa profundidade dos links e suas prioridades de acordo as preferências quanto ao ranking das páginas configurados. É nele também que são configurados os tempos mínimos para a revisitação de páginas.

Situações de revisitação de páginas podem ocorrer quando a analise de uma página recém baixada aponta um link para uma pagina já cadastrada. E, elas são executadas caso o tempo de decorrido desde a última visita da pagina seja maior do que o tempo minimo estipulado para revisitas. Esse tempo é dependente do tipo de resultado vindo da requisição anterior da página, por exemplo, se na primeira requisição não houve uma resposta do servidor, o tempo mínimo padrão para uma nova visita estar habilitada é de 2 horas.

É o harvester que realiza o download das paginas. Ele quem realiza requisições aos servidores DNS e http dos links listados pelo manager. Suas configurações englobam uma diversidade de parâmetros destinados à otimização do download. Entre eles estão o número de threads, os time out envolvidos nas requisições e o tamanho dos documentos que serão baixados. Por fim, o gatherer realiza a análise das páginas baixadas, retirando tags HTML para a gravação do documento na coleção de páginas do programa. Ele também gera a lista de links das páginas para a execução do seeder. Entre suas configurações estão as tags ou conteúdos que deverão ser mantidos ou descartados, o tamanho máximo dos documentos salvos e o padrão de caracteres que será utilizado nos documentos.

Além dos componentes do crawler, o WIRE possui ferramentas de análise dos dados, que permitem, entre outras variáveis, determinar:

Os dados gerados por essas ferramentas são importados para um banco de dados. O WIRE possui também uma ferramenta para geração de relatórios em PDF e, embora eles possam ser úteis durante o processo de avaliação da coleta, os relatório não são de fato utilizados na geração do relatório final da pesquisa.

À partir das exigências do projeto, modificações foram necessárias no WIRE, relacionadas à seguir:

Mudança na forma de armazenamento dos dados

Com o objetivo de: (i) aumentar a escalabilidade do sistema; (ii) garantir a integridade dos dados baixados para análise posterior; foi realizada uma alteração no programa para que, a cada ciclo de dowloads, as páginas percorridas sejam salvas em uma estrutura hierárquica de pastas, semelhante, porém não idêntica, à utilizada pelo software Heritrix. Essa estrutura fica armazenada dentro da pasta sites do diretório base do wire.

Cada site tem uma pasta com seu nome e as páginas encontradas são nomeadas a partir de suas URLs de chamada. Para evitar alguns problemas com a parte de analise dos dados, algumas dos caracteres como '&' (e comercial) e '|' (pipe) foram substituídos por uma meta string correspondente. Além disso, para nomes grandes, foi necessário trocar o nome e manter um arquivo de referencia.

Quanto a localização das pastas de sites dentro da pasta “sites”, elas foram divididas em subpastas, com capacidade fixa definida no arquivo de configurações. Assim, o problema de acessar pastas muito grandes fica controlado. As subpastas foram montadas na forma de arvore e a localização do site depende de seu id dentro do WIRE.

Mudança no tratamento dos redirects

Por padrão, quando o WIRE encontra um redirect o local reverenciado é salvo e, só é seguido caso esse local pertença ao domínio limítrofe configurado. Foi decidido que esse comportamento deveria ser alterado de maneira que o programa sempre realizasse o download das páginas redirecionadas, não importando seu domínio. Mas, ele deveria continuar o download das outras páginas apenas dos sites dentro domínio especificado.

Um exemplo para esse tipo de comportamento é o caso do redirect da url “www.globo.com.br” para “www.globo.com”, nesse caso o WIRE deveria seguir o redirecionamento e baixar e analisar apenas a primeira página do site “www.globo.com”.

Mudança na forma de leitura da semente

Modificou-se o código do WIRE para que ele conseguisse ler uma grande lista de sítios, todos os quais deveriam ser utilizados para limitar os domínios em que o crawler deveria ser executado. Em sua versão original, o WIRE aceita a lista de domínios em uma única variável, limitando-a a poucas unidades.

Na versão modificada, essa variável é carregada com o caminho para um arquivo que contenha a lista com os domínios que se deseja utilizar. Nesse arquivo podem ser colocados até 20000 domínios diferentes. Esse limite poderá ser expandido, em caso de necessidade.

Essa modificação é importante pois espera-se usar a base de domínios do Registro.br, ou parte significativa dela, como semente, o que seria impossível com o software original. Mudança na forma de leitura dos limites

Uma mudança semelhante foi realizada na configuração de limite de domínio, ou seja, onde se configura quais os domínios cujos sítios serão baixados.

No software original configura-se isso em uma única variável.

Com a mudança é possível colocar a lista de domínios em um arquivo. A modificação é importante para permitir testes por amostragem na Web brasileira, quando há uma lista de sítios que devem ser percorridos em profundidade, mas cujos links para outros sítios não devem ser seguidos.

Aleatorização da ordem em que os links encontrados são percorridos

Foi adicionada no Wire uma maneira para que ele percorra os links de forma aleatória em seus ciclos. A solução consiste da utilização de um programa que embaralha a lista de links que será utilizada como semente do ciclo de downloads seguinte. Correção do comportamento da ferramenta de análise dos idiomas

Em testes realizados verificou-se a baixa assertividade da ferramenta de análise dos idiomas. Optou-se por reduzir a quantidade de idiomas analisados para 4: português, inglês, espanhol e francês, incrementando-se a quantidade de “stop words” em seus respectivos dicionários.

Correção de bugs diversos

Alguns bugs, cuja lista completa foge ao escopo desta página, foram corrigidos no decorrer dos testes e implementações. Importação dos dados

Foi construída uma ferramenta para a importação dos dados gerados pelas ferramentas de análise do WIRE para um banco de dados..


AnáliseWeb

Embora o WIRE apresente uma quantidade considerável de ferramentas de análise, elas não são suficientes para os objetivos do presente projeto, que busca informações de áreas específicas de interesse na Web: o CEPTRO necessita de informações sobre a infraestrutura na qual se baseiam os sítios; o W3C sobre a aderência aos padrões Web; e o governo brasileiro, sobre a aderência aos seus padrões, como o de acessibilidade.

Para minimizar a chance de introdução de novos bugs no WIRE concebeu-se uma ferramenta nova, que fosse capaz de analisar os dados coletados pelo crawler ao final de cada coleta, à semelhança das ferramentas já integradas ao mesmo, porém de forma independente.

Foi construída, então, uma ferramenta em Java, denominada AnáliseWeb, com o objetivo de realizar tais testes. Essa ferramenta é composta por diversos módulos, divididos em quatro grandes grupos:

Análises dependentes do host

As análises dependentes do host são aquelas que necessitam ser feitas apenas 1 vez por host, ou seja, são relacionadas à infra-estrutura, e não às páginas Web em si. São elas:

Análises dependentes da página

As análises dependentes da página são aquelas que são executadas para cada documento HTML baixado. São elas:


Resultados.

Durante o ano de 2009 ocorreu o desenvolvimento das ferramentas e diversos testes, culminando com uma primeira coleta e análise do domínio ".gov.br". Um relatório está sendo elaborado e sua publicação é prevista para o primeiro semestre de 2010.

Até o final de 2010 prevê-se a publicação de um primeiro relatório sobre o ".br" completo.


Contato.

Em caso de dúvidas sobre o projeto, pode-se entrar em contato com: moreiras@nic.br