Crawling the Web

1,334 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,334
On SlideShare
0
From Embeds
0
Number of Embeds
30
Actions
Shares
0
Downloads
34
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Crawling the Web

  1. 1. Crawling Curso: Recuperación de Información -- ChaTo 1
  2. 2. The Problem Web days/weeks/months Search engine User 2
  3. 3. Tipos de crawler 3
  4. 4. Primeros Crawlers RBSE Spider – Web de 100.000 páginas Crawler del Internet Archive WebCrawler – Muy exitoso en su época 4
  5. 5. Segunda Generación Mercator, Sphinx Lycos, Excite, Google – Paralelos Crawlers distribuídos – Y descentralizados 5
  6. 6. Taxonomía Crawlers 6
  7. 7. Arquitectura 7
  8. 8. Arquitectura General Web Schedule Download Texto URLs 8
  9. 9. Arquitectura Mercator 1 sacar url, 2 fetch, 3 RewindInputStream, 4: dupes, 5: parsear, 6: urls, 7: dupes url, 8: add 9
  10. 10. Arquitectura Alternativa 10
  11. 11. Scheduling 11
  12. 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
  13. 13. Scheduling en dos fases 13
  14. 14. Scheduling de largo plazo Cómo medir la importancia – Driving Query (Agente Personal) – Backlink count – Pagerank – URL Dominio ● Profundidad aparente de subdirectorio ● 14
  15. 15. Uso de red 15
  16. 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
  17. 17. Red – Escenario óp timo 17
  18. 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
  19. 19. Red – Escenario realista 19
  20. 20. Red – Soluciones extremas 20
  21. 21. Crawling en la práctica 21
  22. 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. 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. 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. 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. 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
  27. 27. Scheduling de largo plazo resultados 27
  28. 28. Scheduling de largo plazo resultados 28
  29. 29. Scheduling de largo plazo resultados 29
  30. 30. Frescura de la copia local y cooperación d el servidor 30
  31. 31. Normal operation: polling request Search Web Engine Server response headers content 31
  32. 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. 33. Frescura y Edad Sync Update Frescura Tiempo Edad Tiempo 33
  34. 34. Interrupt­based operation notify request Search Web Engine Server response 34
  35. 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. 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. 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. 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. 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. 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. 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

×