Web Crawlers Open Source
O Comitê Gestor da Internet no Brasil
(CGI.br) foi criado pela Portaria Interministerial
nº 147, de 31 de maio de 1995, alterada pelo
Decreto Presidencial nº 4.829,
de 3 de setembro de 2003,
para coordenar e integrar todas as iniciativas de
serviços Internet no país, promovendo a qualidade
técnica, a inovação e a disseminação dos
Nomes de domínio .br Números IP Segurança na Internet brasileira Indicadores sobre uso das TICs Infraestrutura PTTs IPv6 SIMET = medição de qualidade Padrões Web
O NIC.br é uma instituição sem fins de lucro, que funciona como braço executivo do CGI.br
In tro d u ção Cr aw ler s lac io nado s
• INTRODUÇÃO
• CRAWLERS
• PROJETOS RELACIONADOS
Agenda
In tro d u ção Cr aw ler s F u n cio n am ento lac io nado s
Introdução
In tro d u ção Cr aw ler s F u n cio n am ento lac io nado s
Projeto TIC Web
• Iniciado em 2009
• Publicação de dados
do domínio .gov.br
em 2010
•
http://www.ceptro.br/
CEPTRO/MenuCEP
TROSPCensoWeb
In tro d u ção Cr aw ler s F u n cio n am ento lac io nado s
O que é um Web crawler
• Programa que navega de forma
automática e ordenada a Web
• Alguns sinônimos:
• Spider
• Bots
• Robots
In tro d u ção Cr aw ler s F u n cio n am ento lac io nado s
Aplicações
• Buscadores
Web Crawlers Indexador Servidores Broker Interface de usuário Índice RankingIn tro d u ção Cr aw ler s F u n cio n am ento lac io nado s
Aplicações
• Buscadores
Web Crawlers Indexador Servidores Broker Interface de usuário Índice RankingIn tro d u ção Cr aw ler s F u n cio n am ento lac io nado s
Como Funciona
Lista
Inicial
Download
Extração
de links
Seleção
In tro d u ção Cr aw ler s F u n cio n am ento lac io nado s
Limitações
senhaIn tro d u ção Cr aw ler s F u n cio n am ento lac io nado s
Desafios
• Tamanho
• Obsolescência
• Qualidade
• Uso eficiente de recursos
• Controle Distribuído
In tro d u ção Cr aw ler s F u n cio n am ento lac io nado s
Alguns exemplos de web crawler Open source
• Wire
• Heritrix
• Wget
• Nutch
In tro d u ção Cr aw ler s lac io nado s
Crawlers
WIRE
In tro d u ção Cr aw ler s lac io nado s
Características
• Desenvolvido pelo CWR
• Cunho acadêmico
• Escalável
• C/C++
• Altamente configurável
In tro d u ção Cr aw ler s lac io nado s
Arquitetura
Base
de
dados
Manager Harvester Gatherer SeederIn tro d u ção Cr aw ler s lac io nado s
Exemplo de configuração
• Arquivo XML
• Configuração centralizada
In tro d u ção Cr aw ler s lac io nado s
Exemplo de execução
export
WIRE_CONF=/media/drive2/teste/sample.conf
wire-bot-reset
wire-bot-seeder --start
/media/drive2/teste/list
wire-bot-run 5
In tro d u ção Cr aw ler s lac io nado s
Exemplo de execução
In tro d u ção Cr aw ler s Projetos Re lac io nado s
WIRE-NIC
• Algumas correções:
• Melhora do
parsening
de páginas
• Suporte a
HTTP1.1
• Melhora na identificação do
encoding
das
páginas
• Correção de alguns bugs de execução
In tro d u ção Cr aw ler s Projetos Re lac io nado s
Problemas
• Relativamente lento
• Storage único
• Difícil de ser testado
• Arquitetura unithead
• Antigo
In tro d u ção Cr aw ler s lac io nado s
Crawlers
GNU WGET
In tro d u ção Cr aw ler s Projetos Re lac io nado s
Características
• Simples
• Linha de comando
• Download sequencial
In tro d u ção Cr aw ler s lac io nado s
Controles de básicos
• Limite de profundidade
• Lista de domínios
• Tipos de arquivos baixados
• Tempo entre downloads
In tro d u ção Cr aw ler s lac io nado s
Alguns exemplos
• Baixar site:
wget –r www.nic.br
In tro d u ção Cr aw ler s lac io nado s
Alguns exemplos
• Baixar site:
wget –r www.nic.br
In tro d u ção Cr aw ler s lac io nado s
Alguns exemplos
• Adicionar delay:
wget –r –w 2 www.nic.br
In tro d u ção Cr aw ler s lac io nado s
Alguns exemplos
• Baixar apenas páginas:
wget –r –w 2 –A
In tro d u ção Cr aw ler s lac io nado s
Alguns exemplos
In tro d u ção Cr aw ler s lac io nado s
Alguns exemplos
In tro d u ção Cr aw ler s lac io nado s
Alguns exemplos
• Baixar apenas páginas:
wget -r -w 2 -R
In tro d u ção Cr aw ler s lac io nado s
Crawlers
HERITRIX
In tro d u ção Cr aw ler s lac io nado s
Características
• Internet Archive
• Java
• Componentes intercambiáveis
• Scopo
• Frontier – Gerenciador
• Process Chains
In tro d u ção Cr aw ler s lac io nado s Controlador
Arquitetura
Interface Web Requisição de Crawling
Frontier
Process Chain Nova URI
Adiciona novas URIs Conclui URI URIs já incluídas URIs a serem executadas
In tro d u ção Cr aw ler s lac io nado s
Problemas
• Difícil de ser configurado
• Não se recupera bem de falhas
In tro d u ção Cr aw ler s lac io nado s
Exemplo de execução
In tro d u ção Cr aw ler s lac io nado s
Crawlers
APACHE NUTCH
In tro d u ção Cr aw ler s lac io nado s
Características
• Apache foundation
• Parte do projeto Apache Solr
• Alta performace em clusters com hadoop
• Robusto
In tro d u ção Cr aw ler s lac io nado s
Arquitetura
Injetor Gerador Buscador
Base de Crawling repositório Filtros, normalizadores indexador parser Atualiza Base de links Inversot de links
In tro d u ção Cr aw ler s lac io nado s
Exemplos de Execução
In tro d u ção Cr aw ler s lac io nado s
Projetos Relacionados
In tro d u ção Cr aw ler s Projetos Re lac io nado s
O ASA
http://asa.nic.br
In tro d u ção Cr aw ler s lac io nado s
Projeto Top Sites
• http://labs.ceptro.br/topsites
• Estatísticas sobre a lista dos top 1 milhão
In tro d u ção Cr aw ler s lac io nado s
Projeto BR Sites
• http://labs.ceptro.br/brsites
• Estatísticas sobre lista do .br baseada em
In tro d u ção Cr aw ler s lac io nado s
TIC Web
• Análise periódica de domínios específicos
In tro d u ção Cr aw ler s Projetos Re lac io nado s In tro d u ção Mot iv aç ão Fu ncio name nto ma
Obrigado !
Perguntas?
•
Contatos:
–
web@ceptro.br
–
moreiras@nic.br
–
heitor@nic.br
In tro d u ção Cr aw ler s Projetos Re lac io nado s In tro d u ção Mot iv aç ão Fu ncio name nto ma
referências
– http://labs.ceptro.br/topsites – http://labs.ceptro.br/brsites – http://asa.nic.br–
http://sf.net/projects/wire-nic
– https://webarchive.jira.com/wiki/display/Heritrix/Heritrix – http://nutch.apache.org/ – http://www.gnu.org/software/wget/manual/wget.html – https://webarchive.jira.com/wiki/download/attachments/5441/Mohr-et-al-2004.pdf– Distributed WR tutorial – Ricardo Baeza-yates
– http://2010.berlinbuzzwords.de/sites/2010.berlinbuzzwords.de/files/bia
lecki_bbuzz2010.pdf