Arquitectura Para Crawling Dirigido De Información Contenida En La Web Oculta
Total Page:16
File Type:pdf, Size:1020Kb
Arquitectura para Crawling Dirigido de Información Contenida en la Web Oculta Manuel Álvarez Díaz TESIS DOCTORAL Directores: Dr. Carlos Alberto Pan Bermúdez Dr. Fidel Cacheda Seijo Departamento de Tecnoloxías da Información e as Comunicacións UNIVERSIDADE DA CORUÑA A Coruña, Diciembre 2007 A mis padres, Estrella y Amador, porque a ellos les debo todo y se merecen todo A MI hermana, Hortensia, por ayudarme a creérmelo AGRADECIMIENTOS Todavía recuerdo el primer día. Mucho tiempo ha pasado desde entonces. Multitud de ideas pasaron por nuestras mentes y muchos fueron los escarceos investigadores necesarios hasta la definición concreta de los objetivos que han dado lugar a este trabajo. Un buen día, la sabiduría escondida tras una profunda capa de timidez vio la luz. Allí estaba, dormitando, la inmensidad oculta de la Web, esperando su oportunidad. Así fue como surgió la idea y me embarqué en esta apasionante aventura. Por ella comienzo mis agradecimientos, porque sin ella, todo habría sido diferente. Pero no menos diferente habría sido sin el inestimable apoyo y colaboración de aquellas personas que me han acompañado en este viaje, que han vivido y compartido mis inquietudes y temores en los momentos más complicados. A ellos quiero dedicar mis agradecimientos. En primer lugar, a mis codirectores, Alberto Pan y Fidel Cacheda. A Alberto, por su valiosa ayuda diaria, de principio a fin, por haber sabido enfocar la línea de trabajo en los momentos de duda y por proporcionarme los medios y las ideas iniciales en las que he basado el esfuerzo posterior. A Fidel, por su ayuda en la realización de este trabajo, sus importantes comentarios y su apoyo. Agradezco también a Ángel Viña su apoyo y confianza durante todos estos años y sus útiles consejos en la preparación de este trabajo. A Juan Raposo y Justo Hidalgo, compañeros de tripulación tanto tiempo, compartiendo momentos de tempestad y calma. A Juan Raposo desde la proximidad, por sus sugerencias y apoyo día a día. A Justo Hidalgo, allende los mares, por sus ánimos y consejos. ¡Tierra a la vista! Pronto nos reuniremos ;). Quiero expresar también mi agradecimiento a Jacob Fernández y Oscar Arias, por sus contribuciones en la implementación del prototipo desarrollado para probar las técnicas presentadas. En particular, Jacob Fernández ha implementado las técnicas de crawling de formularios en el marco de su proyecto de fin de carrera de Ingeniería Informática de la Universidade da Coruña. También debo mis agradecimientos al resto de compañeros, del Departamento de Tecnoloxías da Información e as Comunicacións de la Universidade da Coruña, y de DENODO Technologies, con los que he compartido escalas de mi travesía y me han ayudado a afinar el rumbo. En especial a Paula Montoto y Hoki Torres. A mis amigos, compañeros de rutas, aquellos con quienes surco los mares, y conozco parajes increíbles, por seguir estando ahí. Al mar y las estrellas, por sus momentos de calma y reflexión. Por último, no puedo más que agradecer a quienes he dedicado esta tesis doctoral su apoyo y ánimos en todo momento. Sin ellos, esto no habría sido posible. A todos ellos, Gracias RESUMEN La WWW (World Wide Web) constituye el mayor repositorio de información distribuida y heterogénea jamás construido. En la Web, como en cualquier biblioteca, tan importante como el almacenamiento de la información es disponer de un sistema que permita localizar, acceder y recopilar la que satisface las necesidades de un usuario. La aproximación utilizada más habitualmente para recopilar y localizar información en Internet la constituyen los buscadores basados en técnicas de crawling. Los crawlers son programas software capaces de recorrer la Web automáticamente, recopilando las páginas accedidas para construir un índice que permita búsquedas sobre su contenido. Pueden distinguirse dos tipos de estrategias de crawling: crawling global y crawling dirigido. Las tareas de crawling dirigido están orientadas a un propósito específico. Este tipo de tareas suelen aparecer en el ámbito corporativo y presentan requisitos más complejos que los que pueden satisfacerse con los buscadores convencionales. Sin embargo, los crawlers actuales, tanto globales como dirigidos, sólo pueden acceder a la parte de la Web que se encuentra publicada y enlazada como páginas estáticas. Aunque estas páginas representan una gran cantidad de información, constituyen sólo una pequeña porción de toda la información web disponible. Existe gran cantidad de información que es generada dinámicamente por un servidor en respuesta a acciones del usuario. El ejemplo más paradigmático lo constituyen las páginas generadas como respuesta a una consulta efectuada por un usuario sobre un formulario web. A esta porción de la Web suele denominársele ‘Web Oculta’ (Hidden Web) o ‘Web Profunda’ (Deep Web). Una gran parte de la información contenida en la Web Oculta tiene una estructura latente. Estudios recientes estiman que el 77% de las fuentes de la Web Oculta ofrecen formularios que permiten ejecutar consultas sobre una base de datos subyacente y devuelven los resultados obtenidos codificados en HTML. Por lo tanto, otro de los retos a los que se enfrenta el tratamiento de la información contenida en la Web Oculta es inferir la estructura subyacente presente en los datos de este tipo de páginas. El objetivo de la presente tesis doctoral es definir una arquitectura y un conjunto de técnicas que posibilite tareas de crawling dirigido con acceso a información que se encuentra en la Web Oculta. Las principales contribuciones de este trabajo son las siguientes: (1) una arquitectura que contempla todos los pasos necesarios para construir de forma efectiva aplicaciones de crawling dirigido capaces de acceder a la Web Oculta, (2) un conjunto de técnicas y algoritmos para realizar crawling de la llamada ‘Web Oculta del lado cliente’, que se refiere a las páginas no accesibles a los crawlers convencionales debido a complejidades como Ajax y/o el uso de lenguajes de script, (3) un conjunto de técnicas y algoritmos para identificar y aprender a consultar automáticamente formularios de consulta web relevantes para una tarea de crawling dirigido especificada, (4) nuevas técnicas y algoritmos para extraer automáticamente los datos estructurados contenidos en las respuestas obtenidas a consultas efectuadas sobre formularios web. ABSTRACT The WWW (World Wide Web) is the biggest heterogeneous and distributed information repository that has ever been built. In the Web, as in any library, as important as information storage is to have efficient means for finding, accessing and retrieving the information satisfying the user needs. The most frequently used approach to retrieve and find information from the Internet is by search engines based on crawling techniques. Crawlers are software programs that go through the Web automatically, compiling the accessed pages to build an index that allows queries about its content. Two crawling strategies can be defined: global crawling and focused crawling. Focused crawling tasks are addressed to a specific purpose. This type of tasks usually appears in corporate environments and it shows more complex requirements that the ones addressed by conventional search engines. Nevertheless, current crawlers, both global and focused, only can access to the part of the Web that is published and linked as static pages. Although these pages constitute a large amount of information, they are only a small portion of all the available information on the Web. Great amounts of information are dynamically generated by a server as a response to the user actions. The pages that are obtained in response to user queries submitted on a web query-form are the more paradigmatic example. This part of the Web is usually known as ‘Hidden Web’ or ‘Deep Web’. A large amount of the information contained in the Hidden Web has a latent structure. Recent studies estimate that about 77% of hidden web sources have forms allowing to execute queries over an underlying database and to return the obtained results encoded in HTML. So, dealing with the information contained in the Hidden Web tackles another challenge that is to infer the underlying structure of the data included in this type of pages. The goal of this doctoral thesis is to define an architecture and a set of related techniques to allow focused crawling tasks for accessing to information located in the Hidden Web. The main contributions of this work are the following ones: (1) an architecture which takes into account all the steps needed to build focused crawling applications for accessing to the Hidden Web, (2) a set of techniques and algorithms to crawl the so-called ‘client side Hidden Web’, that is the set of pages that can not be accessed from conventional crawlers due to complexities like Ajax and/or scripting languages, (3) a set of techniques and algorithms to identify and learn to query relevant web forms for a specific focused crawling task automatically, (4) new techniques and algorithms to extract structured data from pages which are automatically obtained as response to web query-forms queries. Índice de Contenidos I. PLANTEAMIENTO Y CONTRIBUCIONES .......................... 1 I.1. ÁMBITO .................................................................................................................. 1 I.1.1. LA WEB OCULTA ................................................................................................................1 I.1.2. INFORMACIÓN ESTRUCTURADA EN LA WEB OCULTA..................................4 I.1.3.