Академический Документы
Профессиональный Документы
Культура Документы
Web Crawling
Sumrio
n n n n n n
Algoritmo de coleta Arquitetura Estratgias de escalonamento Aspectos prticos Coleta incremental Pginas duplicadas e Mirrors
Coleta de Pginas
n
Objetivo
n
Coleta automtica e sistemtica de documentos da Web a serem indexados e consultados pela mquina de busca Crawlers = Spiders = Robots Portugues: Navegadores Automticos (??)
Coletores de Pginas
n n
Coleta de Pginas
URLs Iniciais
URLs visitadas
Exemplo
URL Inicial
Exemplo
Seguindo Links
Exemplo
Exemplo
Exemplo
Seguindo Links
Arquitetura
Arquitetura Tpica
Web
Requisies DNS Servidor de Nomes (DNS) Cache de Nomes
Requisies HTTP
Pginas coletadas
Servidor de Armazenamento
Base de Pginas
Escalonador de URLs
Iniciais
Novas Visitadas
Componentes
n
Coletores
n
Responsveis pela requisio de pginas aos servidores HTTP Extraem os links das pginas recebidas e enviam ao escalonador Requisitam do escalonador uma ou mais URLs a serem coletadas Podem realizar um escalonamento local (short term scheduling)
Componentes
n
Servidor de Armazenamento
n
n n
Recebem as pginas ou outros objetos coletados e armazenam em uma base local. Fazem a extrao (parsing) de texto Podem tratar vrios formatos: Postscript, PDF, Word, Powerpoint, etc.
Componentes
n
Servidor de Nomes
n n
Atendem requisies DNS dos coletores Mantm um cache de identificadores DNS (nomes) resolvidos Crucial para evitar que cada coletor faa requisies DNS remotas Potencial ponto de gargalo
Componentes
n
Escalonador
n
n n
Responsvel por decidir qual a prxima URL a ser coletada Coordena as aes dos coletores Deve garantir protocolo de excluso
n
n n
Performance Tpica
n
77.4 M requisies HTTP em 8 dias 112 docs/seg e 1.682 KB/seg 26 M requisies HTTP em 9 dias 33.5 docs/seg e 200 KB/seg 4 M HTML docs/dia 46.3 HTML docs/seg and 231 KB/seg
Mercator
n
Hardware
n
Digital Ultimate Workstation 533 MHz, Alpha processors, 2 GB de RAM, 118 GB de disco local Conexo de 100 Mbit/sec FDDI Escrito Java Procesador Java srcjava otimizado pela Digital.
Software
n n
Mercator
Escalonamento
Escalonamento
n
Motivao
n
A Web imensa: 10 M de servidores e bilhes de pginas Na prtica, impossvel coletar todas as pginas Custo de manuteno e processamento de grandes colees e ndices muito alto Garantir que somente as melhores pginas sero coletadas
n n
Soluo
n
Escalonamento
n
Em Profundidade ou LIFO
n n n n
Resultada em uma coleta focada Mais pginas por site Resultados imprevisveis Pode-se limitar o nmero de nveis
Escalonamento
n
Em Largura ou FIFO
n n n
Produz uma coleta mais abrangente Visita um maior nmero de sites Mais usada por ser simples de implementar
Escalonamento
n
n n
Escalonamento
n
Baseada em contedo
n
Simples de avaliar, simples de subverter Difcil de medir (nmero de acessos) Nmero de referncias (links) Fcil de medir, robusto
Baseada em popularidade
n
Baseada em conectividade
n n
Variaes recursivas
n n
Links de pginas de maior valor tem maior peso Exemplo: PageRank [BP98]
PageRank
n
Um usurio navegando aleatoriamente, seguindo links com probabilidade uniforme d, visitaria uma pgina p com probabilidade R(p) R( p ) C ( p) p1... pk T d PageRank de p Fan - out de p Pginas que apontam p Nmero total de pginas Amortizage m (d ~ 0.14)
k d R ( pi ) = + (1 d ) R ( p) T i = 1 C ( pi )
Comparao de Estratgias
n
Randmico, FIFO, backlink e PageRank Freqncia de termos, Backlink, PageRank, tipo de URLs
Critrios de avaliao
n
n n
Comparao de Estratgias
n
n n
Estratgia FIFO descobre pginas com alto PageRank primeiro Mquinas com ranking baseado em conectividade devem coletar em FIFO
Concluso
n
Exemplos de Escalonamento
n
Randmico com excluso por servidor FIFO com excluso por servidor Visita alternadamente conjuntos n servidores PageRank
Mercator/Altavista
n
Alexa
n
GoogleBot
n
Aspectos Prticos
tica
n
R o b o ts .tx t
n
n n n n
Descreve regras de restrio para navegao automtica em um site Encontra-se sempre na URL raiz de um servidor Deve-se ser requisitado antes de tudo A obedincia as regras no obrigatria Se no forem seguidas, o administrador pode bloquear acesso a todo contedo do servidor
Recomendaes
n
Usar retardo mnimo entre requisies a um mesmo servidor HTTP Tipicamente 60 segundos Prover as informaes necessrias para os administradores de site Nome do rob, e-mail, responsvel, instituio, etc.
Restries Prticas
n
Sites Gigantes
n
Limitar o nmero de pginas coletadas uma vez que alguns sites contm um nmero excessivamente grande pginas No devem ser coletados objetos que no podem ser indexados: .exe, .jpg, .gif, .ram, .au, Problemas:
n n
Tipos de pginas
n
Nem sempre fcil detectar o tipo de objeto Novos tipos aparecem todo dia
Restries Prticas
n
<A HREF=../../../aula/>Coleta</A>
n n
Coleta Incremental
Caracterizao
n
Coletor peridico
n
Atualiza periodicamente a base de pginas em batch Atualiza a base de pginas de maneira incremental e seletiva Melhora o grau de atualidade das pginas Descobre novas pginas mais facilmente
Coletor Incremenal
n
n n
Caracterizao
n
Objetivos
n n
Atualizar as pginas j coletadas Substituir pginas menos imporantes como novas pginas mais importates. Fazer estimativas de quo frequente as pginas mudam Revisitar somente as pginas que tem grande probalidade de mudar
Ideia
n
Caracterizao
n
Vantagens
n n n
Economia de banda Melhora da autualidade da base Incorpora novas pginas com mais rapidez
Evoluo da Web
n
0.25 0.20 0.15 0.10 0.05 0.00 1dia 1d-1s 1s-1m 1m-4m >4m
Por domnio
0.6
Frao de mudanas
1s
Frao de mudanas
1s
1s-1m
1m-4m >4m
no intevalor
Distribuio de Poisson
Intervalo em dias
Perodica
Incremental
Shadowing
n
n n n
Consiste em armarmazenar as atualizaes em um espao difrente da coleo corrente Permite a disponibilidade da coleo corrente Mais fcil de implementar A coleo corrente fica obsoleta at o momento da reconciliao Consideravelmente mais complicada Garante a atualidade da coleo corrente
In-Place
n n
Frequncia fixa
n
Adotada na coleta perodica Adequadata para coleta incremental com atualizaes in-place
Frequncia Varivel
n
Problema de Duplicao
n n
Boa parte do contedo da Web se est duplicado em vrios sites Os motivos so vrios:
n n n
Balanceamento de carga, alta disponibilidade Atrao de trfego (ex. Tucows) Backup Altavista, 1996 : 30% em 30 M de pags. Google, 1997 : 36% em 26 M de pags.
Estimativas
n n
Problema de Duplicao
n
Duplicao de Pginas
n
Dadas duas URLs v u determinar se os documentos referenciados tem o mesmo contedo ou contedo semelhante Verificao exaustiva invivel!!!
Duplicao Exata
n n
n n
Deteco por assinatura Para cada URL u calculada uma assinatura (u) que armazenada Se (u) = (u) ento u uma duplicata de u Message Digest 5 (MD5) (Rivest,92)
n n n
Gera assinaturas de 128 bits Coliso: 1M entradas/seg. em ~600k anos Gerao eficiente
Duplicao Aproximada
n n
Se u uma duplicata aproximada de u, (u) (u) Tomar amostras aleatrias das pginas Gerar assinaturas das amostras
Mirrors
n
De 238.679 servidores com mais de 100 docs, 22.363 (9.4%) apresentam algum tipo de duplicao (Bharat & Broder, 1998) Sites que mantm colees de pginas duplicadas de forma sistemtica
Mirrors
n
Mirrors
Deteco de Mirrors
n
Bottom-Up
n n n
Cho, Shivakumar & Garcia-Molina, 2000 Deteco a partir do contedo das pginas Construo progressiva de clusters Bharat,Broder & Dean, 1999
Top-Down
n
n n
Pr-filtragem baseada somente nas URLs Testar somente os que passam na filtragem
Bottom-up
n
Passo 1
n
Bottom-up
n
Rid 1 1 1 2
Pid 1 1 2 2
Pid 2 3 6 10
Rid 1 1 1 2
Bottom-Up
n
Passo 3 Construo de clusters S{} Para cada (Ra, Ls, Ld, Rb) Se (Ra = Ls = Ld = Rb) S S U {<Ra, Rb> } Union-Find(S)
S contm pares de URLs no mesmo cluster
Bottom-up
Expanso de Clusters
Bottom-up
Clusters Mximos
Resultados de experimento
Rank 1 2 3 4 5 Site TUCOWS WinSock utilities http://www.tucows.com LDP Linux Doc. Project http://sunsite.unc.edu/LDP Apache Web server http://www.apache.org JAVA 1.0.2 API http://java.sun.com Mars Pathnder http://mars.jpl.nasa.gov 59 49 552 498 Replicas 360 143 125 Tamanho 1052 1359 115
Top-Down
n
Pr-Filtragem
n n
No considera contedo das pginas Baseada somente na estrutura extrada de um conjunto de URLs Algoritmos de anlise de URL
Pr-Filtragem
n
Baseada em endereo IP
n
Determina hosts que possuem IP idnticos ou muito similares. Determina pares de hosts que tem URL altamente similar. Similaridade baseada no modelo vetorial
Pr-Filtragem
n
Considera um hosts como um documento nico Analisa a estrutura de ligao entre estes pseudo-documentos. Dois hosts so considerados mirrors se eles apontam para conjuntos similares de hosts
Pr-Filtragem
n
Dois hosts so considerados mirrors se eles possuem caminhos similares e documentos na mesma posio possuem links similares
Experimentos
n
Entrada:
n n
140 M URLs em 233.035 hosts com >100 URLs Informao de conectividade Determinar uma raking de 25.000 pares de host Testar cada par sugerido usando contedo
Experimentos
n
Avaliao
n n
Preciso: quais pares sugeridos so mirrors Revocao relativa: quais pares so sugeridos considerando todos os mtodos foram encontrados por um mtodo em particular
Experimentos
n
Resultados
n
Melhores mtodos quanto a preciso so os baseados em IP e prefixo de URL Mtodos individuais so limitados quanto a revocao Mtodos combinados:
n n
Artigos
n
The Evolution of the Web and Implications for an Incremental Crawler, Junghoo Cho Hector GarciaMolina Eficient Crawling Through URL Ordering, Junghoo Cho and Hector Garcia-Molina and Lawrence Page Breadth-First Search Crawling Yields High-Quality Pages, Marc Najork Janet L. Wiener Um Retrato da Web Brasileira, Veloso e outros