SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
Crawling




    Curso: Recuperación de Información

                -- ChaTo




1
The Problem
    Web
                days/weeks/months




           Search engine
                                    User
2
Tipos de crawler




3
Primeros Crawlers

    RBSE Spider
    –   Web de 100.000 páginas
    Crawler del Internet Archive
    WebCrawler
    –   Muy exitoso en su época




4
Segunda Generación

    Mercator, Sphinx
    Lycos, Excite, Google
    –   Paralelos
    Crawlers distribuídos
    –   Y descentralizados




5
Taxonomía Crawlers




6
Arquitectura




7
Arquitectura General

                 Web




    Schedule   Download




                          Texto
     URLs

8
Arquitectura Mercator




    1 sacar url, 2 fetch, 3 RewindInputStream, 4:
    dupes, 5: parsear, 6: urls, 7: dupes url, 8: add


9
Arquitectura Alternativa




10
Scheduling




11
Scheduling en general

     Varios objetivos simultáneos
     –   Priorizar mejores páginas
     –   Utilizar bien la red
     –   Mantener la colección fresca
     –   No sobrecargar servidores




12
Scheduling en dos fases




13
Scheduling de largo plazo

     Cómo medir la importancia
     –   Driving Query (Agente Personal)
     –   Backlink count
     –   Pagerank
     –   URL
              Dominio
          ●


              Profundidad aparente de subdirectorio
          ●




14
Uso de red




15
Scheduling de corto plazo

     Sean P(i) tamaños de página
     B ancho de banda disponible
     B(i) ancho de banda usado para sitios
     –   B(i) = P(i) / T*
     T* tiempo óptimo
     –   T* = suma(P(i)) / B




16
Red – Escenario óp timo




17
El óp timo no es posible

     Debemos evitar sobrecargar sitios
     –   Tiempo de espera w aprox. 30seg.
     En general B(i) << B
     –   Alta variabilidad de B(i)
     Alta tasa de fallas (20-30%)
     Ocurren ineficiencias, el tiempo óptimo T* no es
     logrado


18
Red – Escenario realista




19
Red – Soluciones extremas




20
Crawling en la práctica




21
Web Oculta

     O web profunda
     –   Bases de datos
     –   Un porcentaje alto de lo indexable
     –   Requieren interacción con formularios
     Software
     –   Agente específico
     –   Base de datos con palabras del dominio



22
Problemas Servidores

     Uso de ancho de banda
     Control de acceso al servidor
     –   /robots.txt
     Control de acceso a los recursos
     –   Meta name=robots
     Se puede identificar un crawler



23
Problemas Crawler (1)
     Red
     –   Costo del ancho de banda
     –   Variable QoS
     –   Tiempos de espera, la latencia arruina la política de
         corto plazo
     –   Connect exitoso, write no exitoso (firewall)
     DNS es cuello de botella
     –   Crash de DNS locales
     –   Fallas temporales DNS, en sitios chicos
     –   Records malos (bad.net misma IP que good.net, luego
         uno indexa y en los resultados muestra bad.net)
24
Problemas Crawler (2)
     Implementación de HTTP
     –   No cumplen encabezado accept
     –   Errores de rango cuando se pide un fragmento
              e.g.: bytes 0-100k de un archivo de 20k
          ●


     –   Respuesta sin encabezados
     –   'Found' cuando quiere decir 'Error'
              Redirect a página de error
          ●


     –   Fechas
              Particularmente al pedir if-modified-since
          ●




25
Problemas Crawler (3)
     Codificación HTML
     –   Elementos o atributos muy largos
     –   Uso de comillas simples y dobles mezcladas
     –   Tags vacíos, no vacíos, balanceados, no balanceados
     URLs
     –   Sessionids
     –   Componentes repetidos
     Contenido
     –   Muchos blogs y forums
     –   Mucho contenido duplicado
26
Scheduling de largo plazo
           resultados




27
Scheduling de largo plazo
           resultados




28
Scheduling de largo plazo
           resultados




29
Frescura de la copia local
     y cooperación d el servidor




30
Normal operation: polling


                      request



                                   Search
           Web
                                   Engine
          Server
                   response




                         headers
               content
31
Frescura y Edad

     Frescura, F(página)
     –   0 si la copia es DISTINTA del original
     –   1 si la copia es IGUAL
     Edad, E(página)
     –   0 si la copia es igual al original
     –   x si han pasado x segundos desde que el original
         cambió



32
Frescura y Edad       Sync
                                  Update
 Frescura




                         Tiempo


     Edad




                         Tiempo
33
Interrupt­based operation


                   notify


                      request
                                Search
           Web
                                Engine
          Server

                   response




34
Cooperation issues

     Objective: keep collection fresh
     Problems
     –   Spamming: can't trust the web servers
              Can't rely on quality assertions about pages.
          ●


     –   Privacy: can't trust the search engines
              Can't give them full access to everything.
          ●



     Technologies
     –   Compression, Differences of content, Fingerprints
     –   HTTP extensions, Web Services
35
Cooperation schemes (1 of 
                   2)
                                Src
     Serve meta­data/     Web
                                 h
                          Svr
     Notify changes             Eng


                                Src
     Serve differences/   Web
                                 h
                          Svr
     Send differences           Eng


                                Src
                          Web
     Serve if­modified/          h
                          Svr
     Send pages                 Eng


                                Src
                          Web
     Pipelining server/          h
                          Svr
     Send batches               Eng

36
Cooperation schemes (2 of 
                   2)

     Web service waiting    Web            Search
     for crawlers:         Server          Engine
     FILTERING INTERFACE            sync




     Small program running  Web            Search
     at the server:        Server          Engine
     REMOTE AGENT                   sync


37
Cost­benefit (polling)
                    Network   Processing   Benefit


  Serve meta­data                          Normal

  Serve                                    Normal
  differences

  Serve only                               Normal
  if­modified

  Serve batches                            Normal
  of pages

   Filtering                                High
38 interface
Cost­benefit (interrupt)
                     Network   Processing   Benefit


  Send meta­data                            Normal

  Send differences                          Normal


  Send changed                              Normal
  pages

  Send batch                                Normal
  update

   Remote                                    High
39 agent
Will websites cooperate ?

     Large websites
     –   Will cooperate is there is a benefit for them
     –   Web service for crawlers and e.g. e-commerce
         brokers
     Websites that are customers of a search engine
     –   Websites that pay to be indexed more often and
         provide co-branded searches
     General websites
     –   We can use to some extent the HTTP features such as
         pipelining or other future extensions
40
Conclusiones

     Varios problemas relacionados con la naturaleza
     de la Web:
     –   Enorme
     –   Calidad variable
     –   Co-existencia de distintas implementaciones
     Problemas aplicables en otros contextos
     –   Sincronizar una copia local
     –   Descubrir elementos importantes basándose en
         evidencia insuficiente
41

Weitere ähnliche Inhalte

Andere mochten auch

Dr. Searcher and Mr. Browser: A unified hyperlink-click graph
Dr. Searcher and Mr. Browser: A unified hyperlink-click graphDr. Searcher and Mr. Browser: A unified hyperlink-click graph
Dr. Searcher and Mr. Browser: A unified hyperlink-click graphCarlos Castillo (ChaTo)
 
Taraba Slide
Taraba SlideTaraba Slide
Taraba Slidego2me1
 
Test Slideshare 2
Test Slideshare 2Test Slideshare 2
Test Slideshare 2guestc1d47e
 
Cocofish
CocofishCocofish
Cocofishgo2me1
 
Using Topology to Identify Spam (SIGIR 2007)
Using Topology to Identify Spam (SIGIR 2007)Using Topology to Identify Spam (SIGIR 2007)
Using Topology to Identify Spam (SIGIR 2007)Carlos Castillo (ChaTo)
 
Thailand Wanted A Quality Education for All Report 2016
Thailand Wanted A Quality Education for All Report 2016Thailand Wanted A Quality Education for All Report 2016
Thailand Wanted A Quality Education for All Report 2016Peerasak C.
 
Malaysia presentation
Malaysia presentationMalaysia presentation
Malaysia presentationsamhasuh
 
Challenges in Quality use of ICT
Challenges in Quality use of ICTChallenges in Quality use of ICT
Challenges in Quality use of ICTtinsiri
 

Andere mochten auch (12)

Dr. Searcher and Mr. Browser: A unified hyperlink-click graph
Dr. Searcher and Mr. Browser: A unified hyperlink-click graphDr. Searcher and Mr. Browser: A unified hyperlink-click graph
Dr. Searcher and Mr. Browser: A unified hyperlink-click graph
 
Taraba Slide
Taraba SlideTaraba Slide
Taraba Slide
 
Test Slideshare 2
Test Slideshare 2Test Slideshare 2
Test Slideshare 2
 
Cocofish
CocofishCocofish
Cocofish
 
Link Analysis
Link AnalysisLink Analysis
Link Analysis
 
Using Topology to Identify Spam (SIGIR 2007)
Using Topology to Identify Spam (SIGIR 2007)Using Topology to Identify Spam (SIGIR 2007)
Using Topology to Identify Spam (SIGIR 2007)
 
The Balck Death Chapter 3
The Balck Death Chapter 3The Balck Death Chapter 3
The Balck Death Chapter 3
 
Crisis Informatics (November 2013)
Crisis Informatics (November 2013)Crisis Informatics (November 2013)
Crisis Informatics (November 2013)
 
Test Slideshare
Test SlideshareTest Slideshare
Test Slideshare
 
Thailand Wanted A Quality Education for All Report 2016
Thailand Wanted A Quality Education for All Report 2016Thailand Wanted A Quality Education for All Report 2016
Thailand Wanted A Quality Education for All Report 2016
 
Malaysia presentation
Malaysia presentationMalaysia presentation
Malaysia presentation
 
Challenges in Quality use of ICT
Challenges in Quality use of ICTChallenges in Quality use of ICT
Challenges in Quality use of ICT
 

Ähnlich wie Crawling the Web

Introdución a la web: HTTP, URL y HTML
Introdución a la web: HTTP, URL y HTMLIntrodución a la web: HTTP, URL y HTML
Introdución a la web: HTTP, URL y HTMLJoaquín Salvachúa
 
Mashups Aplicaciones hacia el Enterprise 2.0
Mashups Aplicaciones hacia el Enterprise 2.0Mashups Aplicaciones hacia el Enterprise 2.0
Mashups Aplicaciones hacia el Enterprise 2.0Esteban Saavedra
 
Construcción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-DistribuciónConstrucción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-DistribuciónLoja Valle de Tecnología
 
Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...
Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...
Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...Luis Bosque
 
Servidores de nombres de dominio (DNS)
Servidores de nombres de dominio (DNS)Servidores de nombres de dominio (DNS)
Servidores de nombres de dominio (DNS)María del Cisne
 
Informe en cisco de configuracion de servidores jose daniel
Informe en cisco de configuracion de servidores   jose danielInforme en cisco de configuracion de servidores   jose daniel
Informe en cisco de configuracion de servidores jose danielJosé Daniel Castañeda Arias
 
Trabajo fin de master Dirección TI
Trabajo fin de master Dirección TITrabajo fin de master Dirección TI
Trabajo fin de master Dirección TIManolo Crespo
 
Servidores web de altas prestaciones. Tema 5
Servidores web de altas prestaciones. Tema 5Servidores web de altas prestaciones. Tema 5
Servidores web de altas prestaciones. Tema 5pacvslideshare
 
Adaptación de JMeter para la minería de datos de estructuras de páginas web.
Adaptación de JMeter para la minería de datos de estructuras de páginas web.Adaptación de JMeter para la minería de datos de estructuras de páginas web.
Adaptación de JMeter para la minería de datos de estructuras de páginas web.Agustín Sabater
 
T2 aplicaciones-web
T2   aplicaciones-webT2   aplicaciones-web
T2 aplicaciones-webloloky98
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebTensor
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)Tensor
 

Ähnlich wie Crawling the Web (20)

Introdución a la web: HTTP, URL y HTML
Introdución a la web: HTTP, URL y HTMLIntrodución a la web: HTTP, URL y HTML
Introdución a la web: HTTP, URL y HTML
 
Mashups Aplicaciones hacia el Enterprise 2.0
Mashups Aplicaciones hacia el Enterprise 2.0Mashups Aplicaciones hacia el Enterprise 2.0
Mashups Aplicaciones hacia el Enterprise 2.0
 
Conocimientos de aplicaciones web
Conocimientos de aplicaciones webConocimientos de aplicaciones web
Conocimientos de aplicaciones web
 
Construcción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-DistribuciónConstrucción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-Distribución
 
Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...
Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...
Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...
 
Servidores de nombres de dominio (DNS)
Servidores de nombres de dominio (DNS)Servidores de nombres de dominio (DNS)
Servidores de nombres de dominio (DNS)
 
Exposicion
ExposicionExposicion
Exposicion
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Informe en cisco de configuracion de servidores jose daniel
Informe en cisco de configuracion de servidores   jose danielInforme en cisco de configuracion de servidores   jose daniel
Informe en cisco de configuracion de servidores jose daniel
 
Trabajo fin de master Dirección TI
Trabajo fin de master Dirección TITrabajo fin de master Dirección TI
Trabajo fin de master Dirección TI
 
Servidores web de altas prestaciones. Tema 5
Servidores web de altas prestaciones. Tema 5Servidores web de altas prestaciones. Tema 5
Servidores web de altas prestaciones. Tema 5
 
Arquitectura Lambda
Arquitectura LambdaArquitectura Lambda
Arquitectura Lambda
 
Adaptación de JMeter para la minería de datos de estructuras de páginas web.
Adaptación de JMeter para la minería de datos de estructuras de páginas web.Adaptación de JMeter para la minería de datos de estructuras de páginas web.
Adaptación de JMeter para la minería de datos de estructuras de páginas web.
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
T2 aplicaciones-web
T2   aplicaciones-webT2   aplicaciones-web
T2 aplicaciones-web
 
Pruebas del servicio web
Pruebas del servicio webPruebas del servicio web
Pruebas del servicio web
 
Info de redes
Info de redesInfo de redes
Info de redes
 
Info de redes
Info de redesInfo de redes
Info de redes
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la Web
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)
 

Mehr von Carlos Castillo (ChaTo)

Finding High Quality Content in Social Media
Finding High Quality Content in Social MediaFinding High Quality Content in Social Media
Finding High Quality Content in Social MediaCarlos Castillo (ChaTo)
 
Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017
Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017
Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017Carlos Castillo (ChaTo)
 
Detecting Algorithmic Bias (keynote at DIR 2016)
Detecting Algorithmic Bias (keynote at DIR 2016)Detecting Algorithmic Bias (keynote at DIR 2016)
Detecting Algorithmic Bias (keynote at DIR 2016)Carlos Castillo (ChaTo)
 

Mehr von Carlos Castillo (ChaTo) (20)

Finding High Quality Content in Social Media
Finding High Quality Content in Social MediaFinding High Quality Content in Social Media
Finding High Quality Content in Social Media
 
When no clicks are good news
When no clicks are good newsWhen no clicks are good news
When no clicks are good news
 
Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017
Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017
Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017
 
Detecting Algorithmic Bias (keynote at DIR 2016)
Detecting Algorithmic Bias (keynote at DIR 2016)Detecting Algorithmic Bias (keynote at DIR 2016)
Detecting Algorithmic Bias (keynote at DIR 2016)
 
Discrimination Discovery
Discrimination DiscoveryDiscrimination Discovery
Discrimination Discovery
 
Fairness-Aware Data Mining
Fairness-Aware Data MiningFairness-Aware Data Mining
Fairness-Aware Data Mining
 
Big Crisis Data for ISPC
Big Crisis Data for ISPCBig Crisis Data for ISPC
Big Crisis Data for ISPC
 
Databeers: Big Crisis Data
Databeers: Big Crisis DataDatabeers: Big Crisis Data
Databeers: Big Crisis Data
 
Observational studies in social media
Observational studies in social mediaObservational studies in social media
Observational studies in social media
 
Natural experiments
Natural experimentsNatural experiments
Natural experiments
 
Content-based link prediction
Content-based link predictionContent-based link prediction
Content-based link prediction
 
Link prediction
Link predictionLink prediction
Link prediction
 
Recommender Systems
Recommender SystemsRecommender Systems
Recommender Systems
 
Graph Partitioning and Spectral Methods
Graph Partitioning and Spectral MethodsGraph Partitioning and Spectral Methods
Graph Partitioning and Spectral Methods
 
Finding Dense Subgraphs
Finding Dense SubgraphsFinding Dense Subgraphs
Finding Dense Subgraphs
 
Graph Evolution Models
Graph Evolution ModelsGraph Evolution Models
Graph Evolution Models
 
Link-Based Ranking
Link-Based RankingLink-Based Ranking
Link-Based Ranking
 
Text Indexing / Inverted Indices
Text Indexing / Inverted IndicesText Indexing / Inverted Indices
Text Indexing / Inverted Indices
 
Indexing
IndexingIndexing
Indexing
 
Text Summarization
Text SummarizationText Summarization
Text Summarization
 

Kürzlich hochgeladen

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 

Kürzlich hochgeladen (11)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Crawling the Web

  • 1. Crawling Curso: Recuperación de Información -- ChaTo 1
  • 2. The Problem Web days/weeks/months Search engine User 2
  • 4. Primeros Crawlers RBSE Spider – Web de 100.000 páginas Crawler del Internet Archive WebCrawler – Muy exitoso en su época 4
  • 5. Segunda Generación Mercator, Sphinx Lycos, Excite, Google – Paralelos Crawlers distribuídos – Y descentralizados 5
  • 8. Arquitectura General Web Schedule Download Texto URLs 8
  • 9. Arquitectura Mercator 1 sacar url, 2 fetch, 3 RewindInputStream, 4: dupes, 5: parsear, 6: urls, 7: dupes url, 8: add 9
  • 12. Scheduling en general Varios objetivos simultáneos – Priorizar mejores páginas – Utilizar bien la red – Mantener la colección fresca – No sobrecargar servidores 12
  • 14. Scheduling de largo plazo Cómo medir la importancia – Driving Query (Agente Personal) – Backlink count – Pagerank – URL Dominio ● Profundidad aparente de subdirectorio ● 14
  • 16. Scheduling de corto plazo Sean P(i) tamaños de página B ancho de banda disponible B(i) ancho de banda usado para sitios – B(i) = P(i) / T* T* tiempo óptimo – T* = suma(P(i)) / B 16
  • 18. El óp timo no es posible Debemos evitar sobrecargar sitios – Tiempo de espera w aprox. 30seg. En general B(i) << B – Alta variabilidad de B(i) Alta tasa de fallas (20-30%) Ocurren ineficiencias, el tiempo óptimo T* no es logrado 18
  • 22. Web Oculta O web profunda – Bases de datos – Un porcentaje alto de lo indexable – Requieren interacción con formularios Software – Agente específico – Base de datos con palabras del dominio 22
  • 23. Problemas Servidores Uso de ancho de banda Control de acceso al servidor – /robots.txt Control de acceso a los recursos – Meta name=robots Se puede identificar un crawler 23
  • 24. Problemas Crawler (1) Red – Costo del ancho de banda – Variable QoS – Tiempos de espera, la latencia arruina la política de corto plazo – Connect exitoso, write no exitoso (firewall) DNS es cuello de botella – Crash de DNS locales – Fallas temporales DNS, en sitios chicos – Records malos (bad.net misma IP que good.net, luego uno indexa y en los resultados muestra bad.net) 24
  • 25. Problemas Crawler (2) Implementación de HTTP – No cumplen encabezado accept – Errores de rango cuando se pide un fragmento e.g.: bytes 0-100k de un archivo de 20k ● – Respuesta sin encabezados – 'Found' cuando quiere decir 'Error' Redirect a página de error ● – Fechas Particularmente al pedir if-modified-since ● 25
  • 26. Problemas Crawler (3) Codificación HTML – Elementos o atributos muy largos – Uso de comillas simples y dobles mezcladas – Tags vacíos, no vacíos, balanceados, no balanceados URLs – Sessionids – Componentes repetidos Contenido – Muchos blogs y forums – Mucho contenido duplicado 26
  • 30. Frescura de la copia local y cooperación d el servidor 30
  • 31. Normal operation: polling request Search Web Engine Server response headers content 31
  • 32. Frescura y Edad Frescura, F(página) – 0 si la copia es DISTINTA del original – 1 si la copia es IGUAL Edad, E(página) – 0 si la copia es igual al original – x si han pasado x segundos desde que el original cambió 32
  • 33. Frescura y Edad Sync Update Frescura Tiempo Edad Tiempo 33
  • 34. Interrupt­based operation notify request Search Web Engine Server response 34
  • 35. Cooperation issues Objective: keep collection fresh Problems – Spamming: can't trust the web servers Can't rely on quality assertions about pages. ● – Privacy: can't trust the search engines Can't give them full access to everything. ● Technologies – Compression, Differences of content, Fingerprints – HTTP extensions, Web Services 35
  • 36. Cooperation schemes (1 of  2) Src Serve meta­data/ Web h Svr Notify changes Eng Src Serve differences/ Web h Svr Send differences Eng Src Web Serve if­modified/ h Svr Send pages Eng Src Web Pipelining server/ h Svr Send batches Eng 36
  • 37. Cooperation schemes (2 of  2) Web service waiting Web Search for crawlers: Server Engine FILTERING INTERFACE sync Small program running  Web Search at the server: Server Engine REMOTE AGENT sync 37
  • 38. Cost­benefit (polling) Network Processing Benefit Serve meta­data Normal Serve  Normal differences Serve only Normal if­modified Serve batches Normal of pages Filtering  High 38 interface
  • 39. Cost­benefit (interrupt) Network Processing Benefit Send meta­data Normal Send differences Normal Send changed  Normal pages Send batch  Normal update Remote High 39 agent
  • 40. Will websites cooperate ? Large websites – Will cooperate is there is a benefit for them – Web service for crawlers and e.g. e-commerce brokers Websites that are customers of a search engine – Websites that pay to be indexed more often and provide co-branded searches General websites – We can use to some extent the HTTP features such as pipelining or other future extensions 40
  • 41. Conclusiones Varios problemas relacionados con la naturaleza de la Web: – Enorme – Calidad variable – Co-existencia de distintas implementaciones Problemas aplicables en otros contextos – Sincronizar una copia local – Descubrir elementos importantes basándose en evidencia insuficiente 41