Vous êtes sur la page 1sur 78

TESINA

Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana


QUE PRESENTA

Lesli Suhey Zuiga Bez


EN CUMPLIMIENTO DE LA ESTADA DE INGENIERA EN TECNOLOGIAS DE LA INFORMACIN

ASESOR ACADMICO DR. Hctor Hugo Avils Arriaga

ORGANISMO RECEPTOR Centro de Investigaciones y Estudios Avanzados del I.P.N. Cinvestav-Tamaulipas

ASESOR EMPRESARIAL Dr. Vctor Jess Sosa Sosa

Tesina

La Mecatrnica en la Manufactura Automotriz

Cd, Victoria, Tamaulipas, de enero de 2011

Pgina 2

CARTA DE ACEPTACIN DEL DOCUMENTO PARA SU IMPRESIN

Cd. Victoria, Tamaulipas a N/D de enero de 2011

C. LESLI SUHEY ZUIGA BEZ PRESENTE Le comunico que el Programa Acadmico de Ingeniera en Tecnologas de Informacin le ha otorgado la autorizacin para la impresin de su Tesina de Estada Prctica cuyo ttulo es:

Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

ATENTAMENTE

NOMBRE Dr. Hctor Hugo Avils Arriaga

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

C.C.P Dante Ivn Gonzlez Snchez

Pgina 2

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

AGRADECIMIENTOS Un enorme sentimiento de gratitud inunda mi alma hacia al ser por cual tengo vida y por medio del cual he llegado hasta donde estoy, mi Dios, a quien dedico este trabajo en primer lugar. Agradezco a mi familia, en especial a mi madre, quien me ha enseado a luchar y salir adelante por m misma. Agradezco tambin a quienes con su sabidura, paciencia y con su disposicin de transmitirme sus conocimientos me apoyaron a realizar de manera exitosa el presente trabajo, el Dr. Vctor Sosa y el Dr. Hctor Avils, quienes fueron mis asesores y gracias a ellos he culminado mi carrera de manera exitosa. Gratitud, y un cario sin igual, a la persona a la cual tambin dedico este trabajo, quien estuvo a mi lado en todo momento tanto en mi vida personal como acadmica, y quien siempre tendr un lugar en mi vida Jess Lerma Snchez. A todos mis compaeros de carrera y amigos en especial Yaneth Escamilla, Linda Chvez, Letty Becerra, y la Sra. Patty Snchez, quienes siempre estn al pendiente de mi vida, muchas gracias. Gratitud y enorme estima la Dra. Edith Monserrat Garca Islas y el Dr. Ramn Fuentes Saldaa quienes me dieron la oportunidad de trabajar con ellos en horarios flexibles, con lo cual me permitieron concluir mi carrera, y adems de que fue con ellos con quienes aprend grandes cosas.

Cd Victoria, Tamaulipas y Enero de 2011

RESUMEN Pgina 3

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

El presente documento, describe las actividades realizadas durante la Estada, la cual se desarroll durante un tiempo de 16 semanas, en el Centro de Investigaciones y Estudios Avanzados del I.P.N, CINVESTAV, la cual est ubicado en el parque cientfico y tecnolgico TECNOTAM, en carretera Soto La Marina Km 5.5, en Ciudad Victoria, Tamaulipas. A lo largo del presente trabajo se presenta una descripcin general de los conceptos ms usuales dentro del mbito del estudio de los rastreadores web para la exploracin de la web mexicana. Se presentan una serie de ejemplos, de aplicaciones que tienen los rastreadores web, adems de la descripcin de los algoritmos de rastreo web ms comunes, pero se hace gran nfasis en el hecho de que se requiere hacer un estudio de los contenidos existente en la web de Mxico. En el presente se describen de manera detallada las actividades realizadas para el proyecto Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana, contemplando software e instalaciones para los experimentos realizados, se presentan adems, una serie de apndices y tablas comparativas para mejor presentacin de resultados de investigaciones y pruebas. . Palabras claves: TICs, Web, Rastreador Web Enfocado (Rastreador Web Enfocado), Deep Web, Rastrador Web (Rastreador web), ndice, paginas semilla.

ABSTRACT
Pgina 4

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

This document describes the activities during the internship, which was developed over a period of 16 weeks, at the Centro de Investigaciones y Estudios Avanzados del I.P.N, CINVESTAV, which is located in the science and technology park TECNOTAM, road Soto La Marina Km 5.5, in Ciudad Victoria, Tamaulipas. Throughout this paper presents an overview of the more common within the study area of web rastreadores to explore the Mexican web. We present a series of examples of applications that have web rastreadores, also a description of the most common crawling algorithms, but great emphasis on the fact that it requires a study of existing content on the web of Mexico. This is described in detail the activities for the project " Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana ", looking hardware, software and facilities for experiments, also of appendices and tables for a better presentation of comparative results of research and testing. . Keywords: ICT, Web, Focused Web Rastreador, Deep Web, Web Rastreador, index, seed pages.

NDICE TEMTICO

Pgina 5

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

1. INTRODUCTION The rapid growth of the world-wide web poses unprecedented scaling challenges for general-purpose crawlers and search engines. The world-wide web, having over 350 million pages, continues to grow rapidly at a million pages per day. In spite of the high-end multiprocessors and exquisitely crafted crawling software, the largest crawls cover only 30-40% of the web, and refreshes take weeks to a month. All these problems have led to the demand of focused crawlers, which crawl web documents in response to particular information needs i.e. specific to a domain or language. In this thesis is about Web crawling, the process used by Web search engines to download pages from the Web. The typical design of search engines is a cascade, in which a Web creates crawler collection which is indexed and searched. Most of the designs of search engines consider the Web crawler as just a first stage in Web search, with little feedback from the ranking algorithms to the crawling process. This is a cascade model, in which operations are executed in strict order: first crawling, then indexing, and then searching. This thesis focuses on Web crawling, and we study Web crawling at many different levels and the comparison between different Web crawlers, which are selected in according they features and we can configure as a focused crawler. There are numerous advantages of such a focused crawler over a general crawler. While focused crawling acquires relevant pages steadily, standard crawling quickly loses its way, even though they are started from the same root set. Focused crawling is robust against large perturbations in the starting set of URLs. It discovers largely overlapping sets of resources in spite of these perturbations. It is also capable of exploring out and discovering valuable resources that are dozens of links away from the start set, while carefully pruning the millions of pages that may lie within this same radius. Today, these topical crawlers have become the basis for many specialized services such as investment portals, competitive intelligence tools, and scientific paper repositories. 2. DESCRIPCIN Y ALCANCES DEL PROYECTO

El Laboratorio de Tecnologas de Informacin de Cinvestav Tamaulipas conjunta los esfuerzos del gobierno Federal y estatal, para ser un instrumento que Pgina 6

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

se suma a las iniciativas locales y desarrollar en la zona un ncleo de economa digital basado en el conocimiento. Cinvestav-Tamaulipas a travs del Laboratorio de Tecnologas de Informacin, tiene la misin de desarrollar capital humano que genere proyectos productivos, innovacin y desarrollo tecnolgico, mejoramiento en la calidad de los procesos, as como fortalecimiento de las capacidades regionales en el sector de Tecnologas de Informacin. Cinvestav-Tamaulipas est fundamentado en la amplia experiencia de investigacin, de formacin de recursos humanos y de desarrollos tecnolgicos que tiene Cinvestav. El Cinvestav, ha presentado la propuesta de un proyecto, el cual consiste en el desarrollo de un buscador web, el cual deber estar enfocado exclusivamente al dominio de las TICs, por lo cual, en esta institucin se me ha permitido participar en una parte de dicho proyecto, por lo cual se me asigno un sub proyecto el cual fue titulado como: Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana, el cual es descrito a lo largo de la presente tesina. Objetivo del proyecto Investigar y documentar la arquitectura y funcionamiento de los rastreadores web, con la finalidad identificar el rastreador web con las caractersticas esenciales para su uso exclusivo en el dominio de las tecnologas de informacin. Problema Ejecutar un rastreador web es una tarea ardua. Hay muchos aspectos tcnicos a tener en cuenta, incluso una de las situaciones ms importantes, son las cuestiones sociales. Rastrear es la tarea ms frgil, ya que conlleva interactuar con cientos de miles de servidores web los cuales estn fuera de nuestro control. Debido a la gran variedad de servidores webs, es complicado hacer un rastreador a prueba de fallos, por lo que se requiere que su diseo sea lo ms robusto posible. El problema aumenta an ms cuando es necesario un rastreador que adems de indagar en los servidores web, sea lo suficientemente inteligente para identificar pginas web que contengan exclusivamente informacin de un tema especificado por quien haya iniciado el rastreador. Tal es el caso de identificar un rastreador web, el cual pueda ser enfocado al dominio de las tecnologas de informacin en la web mexicana. Pgina 7

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

3. MARCO TERICO En la seccin anterior se dio una introduccin al problema, y los alcances que se persiguen en este proyecto; los cuales consisten realizar una investigacin y comparativa de diferentes rastreadores web, basado en el concepto de rastreo web.

3.1 World Wide Web Pgina 8

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

La Web es una gran coleccin de documentos enlazados por referencias. El mecanismo para referenciar un documento con otro est basado en el hipertexto que se encuentra embebido en el cdigo HTML de las pginas web. Cada pgina web, tiene una direccin llamada URL (universal resource locator) que la identifiva ca de manera nica. Esta URL es usada por los navegadores para solicitar documentos a los servidores. Formalmente laWeb puede ser vista como un grafo dirigido", donde los nodos son las pginas web y los enlaces estn representados por las URLs. Dada una pgina Web P, las URL que apuntan a enlaces externos son llamadas outlinks y las pginas que apuntan a P son llamadas inlinks o (backlinks). Idealmente, todas las pginas web estn enlazadas (tambin puede haber pginas web que no se encuentren conectadas) con mltiples enlaces y nodos. Para buscar hipertexto se utilizan programas llamados buscadores web que recuperan trozos de informacin (llamados documentos o pginas web) de los servidores web y muestran en la pantalla del ordenador de la persona que est buscando la informacin grfica, textual o video e incluso audio. Despus se pueden seguir enlaces o hyperlinks en cada pgina a otros documentos o incluso devolver informacin al servidor para interactuar con l. Al acto de seguir un enlace tras otro se le llama navegar en Internet. Los motores de bsqueda utilizan programas llamados rastreadores para construir sus ndices, investigadores utilizan los rastreadores para medir las propiedades de la Web y las empresas utilizan los rastreadores para realizar procesos de minera de datos y obtener informacin sobre sus competidores. 3.2 Buscador Web Un buscador es una pgina web en la que se ofrece consultar una base de datos en la cual se relacionan direcciones de pginas web con su contenido. Su uso facilita enormemente la obtencin de un listado de pginas web que contienen informacin sobre el tema que nos interesa. Existen varios tipos de buscadores, en funcin del modo de construccin y acceso a la base de datos, pero todos ellos tienen en comn que permiten una consulta en la que el buscador nos devuelve una lista de direcciones de pginas web relacionadas con el tema consultado. 3.2.1 Tipos de buscadores Pgina 9

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Los buscadores se pueden clasificar en tres tipos, segn la forma de obtener las direcciones que almacenan en su base de datos. Cada tipo de buscador tiene sus propias caractersticas. Conocerlas puede ayudarnos a decidir cul utilizar en funcin de las necesidades de nuestra bsqueda. No obstante, hoy en da todos los buscadores tienden a ofrecer el mayor nmero de servicios posible, con lo que sus ofertas de bsqueda se asemejan cada vez ms, siendo difcil adivinar de qu tipo de buscador estamos hablando. 3.2.2 ndices de bsqueda Es el primer tipo de buscador que surgi. En los ndices de bsqueda, la base de datos con direcciones la construye un equipo humano. Es decir, un grupo de personas va rastreando la red en busca de pginas. Vistas stas son clasificadas por categoras temas y subcategoras en funcin de su contenido. De este modo, la base de datos de un ndice de bsqueda contiene una lista de categoras y subcategoras relacionadas con un conjunto de direcciones de pginas web que tratan esos temas. La consulta de un ndice se realiza, pues, a travs de categoras. El primer ndice de bsqueda que apareci fue Yahoo! que sigue ofreciendo sus servicios, aunque con el paso del tiempo ha ido mejorndolos.

Figura 1. Yahoo

3.2.3

Motor de bsqueda

Los motores de bsqueda son posteriores a los ndices. El concepto es diferente: en este caso, el rastreo de la web lo hace un programa, llamado motor de bsqueda (de ah viene el nombre del tipo de buscador). Pgina 10

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Este programa va visitando las pginas y, a la vez, creando una base de datos en la que relaciona la direccin de la pgina con las 100 primeras palabras que aparecen en ella. Como era de esperar, el acceso a esta base de datos se hace por palabras clave: la pgina del buscador me ofrece un espacio para que yo escriba la las palabras relacionadas con el tema que me interesa, y como resultado me devuelve directamente un listado de pginas que contienen esas palabras clave. Un buen ejemplo de motor de bsqueda es Google.

Figura 2. Google

3.2.4 Sistemas Mixtos (directorio y motor de bsqueda) Son una mezcla entre buscadores y directorio. Adems de tener caractersticas de buscadores, presentan las pginas registradas clasificadas en catlogos segn su contenido: Informtica, cultura, sociedad, que a su vez se dividen en subsecciones. Hoy en da los grandes buscadores, van en esa direccin. En la actualidad, todos los motores tienden hacia estos sistemas mixtos. Un ejemplo de este tipo de buscador es: Infoseek 3.2.5 Metabuscadores

En realidad, los metabuscadores hacen sus bsquedas en autnticos buscadores, analizan los resultados de la pgina y presentan sus propios resultados.

Pgina 11

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Los metabuscadores permiten buscar en varios buscadores al mismo tiempo. No almacenan las descripciones de pginas en sus bases de datos, sino que contienen los registros de los motores de bsqueda y la informacin sobre ellos, adecuando su expresin a los diferentes motores para remitir la consulta. Cuando reciben la respuesta, envan al usuario el resultado que fue previamente sometido a un filtrado para eliminar y depurar los enlaces repetidos y ordenados. Los ms repetidos ocuparn los primeros puestos ya que el metabuscador considerar que son los ms relevantes por estar dados de alta en mayor nmero de buscadores.
Figura 3. Infoseek

Copernic (www.copernic.com), es un ejemplo de un metabuscador interesante con muchas categoras de bsqueda y versiones gratuitas.

3.2.6 Multibuscadores Permiten lanzar varias bsquedas en motores seleccionados respetando el formato original de los buscadores. Se limitan a colocar en una pgina web una lista con los buscadores ms comunes y con una ventana de texto para que el usuario enve la cadena de bsqueda introducida a cada uno de ellos. Muestra los resultados segn el buscador. Se puede mencionar como ejemplo de multibuscador a Gooyaglehoo.

3. .7

Buscadores de portal Pgina 12

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Bajo este ttulo, englobamos los buscadores especficos de sitio. Aquellos que buscan informacin slo en su portal o sitio web. Podramos considerarlos como un directorio. Trabajan sobre la base de expresiones regulares y consultas SQL. Son muy tiles para los temas de administracin.

3.3 Motor de Bsqueda

Un motor de bsqueda tiene por finalidad la seleccin de pginas web que respondan a las solicitudes de informacin que emiten los usuarios, es decir, buscar qu es lo que hay y para qu sirve, de tal manera que se demuestre que las pginas web que se proporcionan son relevantes para el usuario y no para los intereses de los distintos sitios web o para los propietarios de los motores de bsqueda. Los motores de bsqueda visitan las pginas Web y realizan la indexacin. La manera en que se efecta dicha indexacin es propia de cada motor. Uno de los elementos claves de un motor de bsqueda es el rastreador web (rastreador web) que se ocupa de recuperar pginas web, generalmente se le describe como un robot de software usado por los motores de bsqueda automatizados que crean ndices de URLs, palabras claves, textos, etc.

Pgina 13

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

En un principio la cantidad de pginas que un motor era capaz de escanear, el tamao del motor, constitua una medida de calidad o excelencia. Actualmente este criterio ha sido desplazando hacia otros rubros como la indexacin y el ranking. Estos dos factores estn relacionados con la importancia de las pginas para el usuario que realiza una bsqueda, lo que lleva al desarrollo de nuevos modelos para crear criterios aplicables de forma coherente y sin ambigedades. 3.3.1 Arquitectura de un motor de bsqueda Cuando hablamos de la arquitectura de un motor de bsqueda, estamos pensando en un sistema de software que tiene que ser escalable como para soportar millones de consultas diarias y debe manejar volmenes enormes de datos, manteniendo un tiempo de repuesta que haga aceptable la realizacin de la bsqueda por parte del usuario y por otro lado que haga posible la constante actualizacin de los datos internos del sistema con los extrados de la red. Por esta razn es que cuando se habla de un motor de bsqueda moderno se asocia a esto la idea de un sistema distribuido.

3.3.2 Componentes de un motor de bsqueda Si bien esto vara segn la implementacin, ya que intervienen importantes restricciones en cuanto al tiempo de respuesta, haciendo que las tareas necesarias para la bsqueda e indexacin de datos, como as tambin aquellas que tengan que ver con los procesos necesarios para elaborar las respuestas ante las consultas de los usuarios tengan que llevarse a cabo en forma paralela, haciendo que los componentes varen segn la implementacin particular. A pesar de esto podemos distinguir genricamente los siguientes componentes especficos de un motor de bsqueda: Rastreador ( rastreador) Es el encargado de recorrer la estructura de vnculos de la Web (una estructura en forma de telaraa segn su propia definicin), a travs de listas de URLs que se usan como punto de partida para el recorrido recursivo de los documentos. Este elemento de los buscadores, es la parte fundamental del desarrollo de la presente. Pgina 14

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Indexador Almacena los datos que recolecta el rastreador dentro de una estructura ordenada para que sea posible accederla rpidamente para generar la salida de informacin necesaria para responder las consultas. Repositorio Es el archivo donde se almacena la informacin til para generar las salidas de informacin que le ayudarn al usuario a identificar los datos de los diferentes tems que conforman la coleccin de datos como respuesta a su solicitud. La estructura, datos y forma en que se maneja este componente vara en gran medida de acuerdo a la implementacin especfica del motor de bsqueda. Servidor Web Dado que los motores de bsqueda deben estar disponibles para ser accedidos por cualquier usuario a travs de la red, y la Web provee un mecanismo estndar para generar interfaces de usuario que puedan ser interoperables y de fcil acceso en cualquier estacin de trabajo, este es el medio seleccionado por la gran mayora de los servicios de bsqueda disponibles. Este componente es el encargado de establecer la comunicacin con el usuario a travs del protocolo http, recibiendo consultas de este y envandole el resultado de las mismas a travs del mismo protocolo. En cuanto a la comunicacin con los mdulos internos del sistema, el Servidor Web enva los datos de la consulta del usuario hacia el generador de consultas, y por otro lado recibir los datos desde el generador de presentacin. Generador de consultas Recibe la consulta realizada en forma de una cadena de texto ingresada por el usuario conteniendo las palabras clave, frases u otros atributos, o bien mediante el pasaje de valores desde un formulario web. Una vez que obtuvo estos datos a travs del servidor Web, los interpreta y genera una nueva en formato nativo para que pueda ser efectuada la bsqueda dentro del repositorio.

Buscador Ser el encargado de acceder a la estructura interna de datos (repositorios ndices, etc.), para satisfacer el pedido.

Pgina 15

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Generador de Presentacin Construye la vista a ser incluida en el documento HTML que recibir el usuario a travs del servidor Web, a partir de los datos que gener el buscador. 3.4 Rastreador Web Un rastreador web (web rastreador) es relativamente un sencillo programa automatizado, o un guin, que explora de forma metdica o rastrea a travs de pginas de Internet para crear un ndice de los datos que se estn buscando. Los nombres alternativos para un rastreador web incluyen araa, el robot web, robot, rastreador e indexador automtico. Un rastreador web se puede usar para muchos propsitos. Probablemente el uso ms comn asociada con el trmino est relacionado con los motores de bsqueda. Los motores de bsqueda utilizan los rastreadores web para recopilar informacin sobre lo que hay en las pginas web pblicas. Su objetivo principal es recoger datos de manera que cuando internautas introduzcan un trmino de bsqueda en su sitio, rpidamente se puede proporcionar al usuario los sitios web pertinentes de acuerdo a la consulta lanzada por el usuario. Los motores de bsqueda, sin embargo, no son los nicos usuarios de los rastreadores web. Los lingistas pueden utilizar un rastreador web para realizar un anlisis textual, es decir, pueden peinar la Internet para determinar qu palabras se usan hoy en da. Los investigadores de mercado pueden utilizar un rastreador web para determinar y evaluar las tendencias en un mercado determinado. Existen numerosos usos nefastos de los rastreadores web tambin. Al final un rastreador web puede ser utilizado por cualquier persona que busca recopilar informacin sobre Internet.
Figura 4. Arquitectura de un motor de bsqueda

Pgina 16

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Los rastreadores Web pueden operar por una sola vez, por ejemplo para un determinado proyecto de tiempo, o si su propsito es para algo a largo plazo, como es el caso de los motores de bsqueda, que puede ser programado para rastrear a travs de Internet peridicamente para determinar si ha habido ningn cambio significativo. Si un sitio est experimentando el trfico pesado o las dificultades tcnicas, el rastreador puede ser programado para sealar el sitio y volver de nuevo cuando las cuestiones tcnicas hayan disminuido. Una gran cantidad de pginas web continuamente se aaden cada da y la informacin est cambiando constantemente. Un rastreador web es una manera para los motores de bsqueda y otros usuarios para garantizar que regularmente

sus bases de datos estn al da.

3.4.1 Funcionamiento Por lo general, un rastreador dispone de un conjunto inicial de URLs, conocidas como semillas. El rastreador va descargando las pginas Web asociadas a las semillas y buscando dentro de stas otras URLs. Cada nueva URL encontrada se aade a la lista de URLs que el rastreador debe visitar. A este proceso se le denomima recoleccin de URLs. Existen distintas polticas para escoger la siguiente URL que el rastreador web visitar. En general, estas polticas se basan en las respuestas a preguntas tipo: Pgina 17

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Qu tan importante es la pgina en la que estoy? Qu tan importante es el sitio web en el que se encuentra la pgina Web actual? He visitado ya alguna pgina Web del dominio de la pgina a la que tengo intencin de dirigirme?

Segn el rastreador web accede a una nueva URL, la pgina web asociada es descargada al ordenador local. Una vez ah, stas son parseadas y procesadas. Es importante mencionar que ningun rastreador puede acceder a todas las URLs que hay en Internet, pues el nmero de pginas existentes es gigantesco. Estadsticamente, el porcentaje de Internet que suele ser explorado por un rastreador es aproximadamente del 15%. Cuando un rastreador web parsea una pgina Web, lo que hace es decidir qu partes de sta son de utilidad. Por ejemplo, puede quedarse slo con los enlaces, slo con imgenes, slo con texto. Tras el parseo, la araa Web procesa la informacin disponible, es decir, aplica algn tipo de algoritmo para conseguir el objetivo establecido. Por ejemplo, comprobar la disponibilidad de un enlace o verificar el tamao de una imagen. Por ltimo, conviene mencionar algunas de las dificultades a las que los rastreadores se deben enfrentar: enormes cantidades de pginas que recorrer, elevado nmero de actualizaciones de pginas existentes, pginas que crean su contenido de forma dinmica, redireccionamientos, entre otros.

3.4.2 Archivo robots.txt El archivo robots.txt es un archivo de texto que cualquier sitio web puede utilizar para indicar a los rastreadores qu archivos o carpetas tienen que ignorar en sus visitas. As, es posible evitar que los rastreadores visiten e indexen cierta informacin de un sitio web, ya sea por razones de privacidad o para reducir el consumo de recursos del servidor. De todos modos, el archivo robots.txt solamente es una solicitud corts y no una orden. Los rastreadores web pueden hacer caso a dicho archivo o ignorarlo por completo. Los rastreadores de motores de bsqueda importantes suelen hacer caso a este archivo. 3.4.3 Arquitectura de un Rastreador Web Pgina 18

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Un proceso general de crawling se puede describir de la siguiente forma: El rastreador mantiene una lista de URLs que no han sido visitadas llamadas frontier o frontera. La lista es inicializada con URLs denominadas semillas, las cuales pueden ser indicadas por el usuario o por algn programa. Cada ciclo de crawling consiste en elegir una URL a descargar de la frontera, descargar la pgina correspondiente a la URL a travs del protocolo HTTP, analizar la pgina para extraer las URL y finalmente aadirlas URL que no han sido visitadas a la frontera. Antes de aadirlas URLs a la frontera, debe ser asignado una puntuacinque representa el beneficiode visitar la pgina correspondiente a la URL. El proceso de crawling termina cuando un cierto nmero de pginas ha sido descargado. Si el rastreador est listo para descargar otra pgina y la frontera est vaca, se le enva al rastreador una seal de alto y si el rastreador no tiene una nueva pgina que descargar, termina el proceso. Como se muestra en la figura 5. [8] y [4]

Figura 5. Arquitectura

de un rastreador web

3.4.3.1 Frontier

Pgina 19

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Un rastreador tpicamente contar con una lista de enlaces para descargar (URLs que no han sido visitadas), esta lista se le suele llamar frontera (o frontier). Aunque puede ser necesario almacenar la frontera en disco para rastreadores a gran escala, se puede representar como una estructura en memoria. Basado en la memoria de la computadora se puede decidir el tamao mximo de la frontera. Dada la gran cantidad de memoria con que cuentan las PCs en la actualidad, una frontera puede almacenar hasta 10,000 URLs o mas. La frontera puede implementarse como una estructura tipo cola FIFO en la cual se tiene un rastreador breath-first que puede ser usada para analizar la Web. La siguiente URL a analizar viene del inicio de la cola y las nuevas URL son aadidas al final. Dadas las limitaciones del tamao de la frontera, es importante estar seguros de no duplicar las URL en la frontera. Una bsqueda lineal para encontrar si una URL ya ha sido aadida a la frontera es costosa. Una solucin propuesta consiste en separar una parte de la memoria para mantener una tabla hash separada (con las URL como llave) para almacenara cada URL de la frontera para encontrarlas rpidamente [8]. Si la frontera es implementada como una cola de prioridad, es necesario tener un rastreador preferencial el cual es conocido como best-first-rastreador. La cola de prioridad puede ser un arreglo dinmico que se almacena ordenado por una puntuacin asignada a cada URL que no ha sido visitada. En cada paso, las mejores URLs son elegidas del inicio de la cola. Una vez que la pgina correspondiente ha sido descargada, las URLs que contenga son extradas y calificadas basado en alguna heurstica. Entonces, son aadidas a la frontera de tal manera que la cola de prioridades se siga manteniendo. Es importante evitar el duplicar las URLs en la frontera manteniendo una tabla hash de manera separada para buscar las URLs. Una vez que la frontera ha alcanzado su tamao mximo, solo las mejores URLs son almacenadas en la frontera. Si el rastreador encuentra la frontera vaca cuando solicita una URL para descargar, el proceso de crawling se detiene. Al mismo tiempo, un rastreador puede encontrar una trampa que indica que un gran nmero de URLs diferentes se refieren a la misma pgina. Una forma de evitar esto es limitando el nmero de pginas que el rastreador analiza de un dominio dado.

3.4.3.2 Historial y Repositorio de Pginas Pgina 20

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

El historial del rastreador es una marca de tiempo en la lista de URLs que el rastreador ha descargado. sta muestra la ruta que el rastreador sigui empezando desde la pgina raz. Una URL se registra en el historial solo hasta que la pgina ha sido descargada. Este historial puede ser usado para obtener estadsticas y evaluaciones del rastreador. Mientras que el historial puede ser almacenado en disco, tambin puede ser mantenido en memoria como una estructura de datos. Esto provee una rpida bsqueda para checar cuales pginas han sido descargadas o no. Este chequeo es importante para evitar revisar pginas que ya han sido descargadas y aadirlas a la frontera. Por esta razn es importante el almacenar todas las URL en forma cannica antes de aadirlas al historial. Una vez que una pgina ha sido descargada, puede ser almacenada o indexada para otra aplicacin (como un motor de bsqueda por ejemplo), para eso se utiliza el repositorio de pginas que puede almacenar las pginas como archivos separados o como un nico archivo.

3.4.3.3 Descarga de pginas Para descargar una pgina se necesita un cliente HTTP que envi una solicitud HTTP para una pgina y lea la respuesta. El cliente necesita tener tiempos de espera para asegurarse de no esperar una gran cantidad de tiempo si el servidor se tarda en leer la pgina web. Tpicamente se restringe a los clientes a descargar nicamente los primeros 10-20KB de cada pgina. El cliente necesita analizar el encabezado de respuesta para el cdigo de estatus y redireccin. El chequeo de errores y el manejo de excepciones son importantes durante el proceso de descarga, ya que se necesita tratar con millones de servidores remotos usando el mismo cdigo. Adicionalmente puede ser benfico el recolectar estadsticas de tiempos de espera y cdigos de estatus para identificar problemas o cambiar automticamente los valores de tiempo de espera [8].

3.4.3.4 Parsing

Pgina 21

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Una vez que una pgina ha sido descargada, es necesario analizar su contenido para extraer los enlaces de salida o la informacin que puede guiar la posible ruta del rastreador [1]. El parsing puede implicar simplemente extraer los enlaces/URL o puede involucrar un proceso ms complejo, por ejemplo analizar el HTML para extraer el rbol de etiquetas HTML. El parsing puede involucrar diferentes pasos que conllevan a convertir las URL en una forma cannica, remover las stopwords del contenido de la pgina y dejar las palabras restantes. Extraccin de URL y Canonicalizacin Una vez que se extrae un enlace HTML en forma de URL para una pgina Web, se puede usar un analizador para encontrar la etiqueta <A> del HTML y tomar el atributo href asociado. Diferentes URLs que corresponden a la misma pgina Web pueden ser mapeados en una forma cannica. Esto es importante para prevenir el descargar la misma pgina varias ocasiones. A continuacin se presentan algunos pasos usados para un procedimiento tpico de canonicalizacin [8]: convertir el protocolo y hostname a minsculas. Por ejemplo HTTP://www.CINVESTAV.edu.mx es convertido a http://www.cinvestav.edu.mx remover la parte de enlace o referencia de las URL. Por lo tanto, http://cinvestav.edu.mx/faq.html#what es reducido a http://cinvestav.edu.mx/faq.html realizar la codificacin de URL, para algunos caracteres comnmente utilizados como `i`. Esto puede prevenir al rastreador para tratar http://www.tamps.cinvestav.mx/izuniga como una diferente para la URL http://www.tamps.cinvestav.mx/ %7zun%7ga.

para algunas URLs aadir el caracter / al final. http://www.cinvestav.edu.mx y http://cinvestav.edu.mx/ deben ser mapeados a la misma forma cannica. La decisin de aadiral final la / requiere el uso de heurstica en muchos casos.

Pgina 22

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

El uso de heurstica para reconocer las pginas Web por default como index.html o index.htm deben ser removidas de la URL asumiendo que son los archivos por default. remover ... del directorio padre para una URL.

Stoplisting y Stemming. Cuando se realiza el parsing de una pgina Web para extraer las nuevas URL sugeridas por la pgina, es de gran ayuda el remover palabras comnmente utilizadas en el lenguaje, estas palabras comnmente se les conoce como palabras de paro (stopwords) . Por ejemplo en el lenguaje ingls se encuentran las palabras it y can . Este proceso de remover stopwords del texto es llamado stoplist-ing. El sistema Dialog1 reconoce no mas de diez palabras ( an", and", by", for", from", of", the", to y with") como stopwords. El proceso llamado stemming normaliza las palabras combinando una serie de palabras morfolgicamente similares para una simple palabra desde su raz. Por ejemplo connect", connected y connection" son reducidas a connect".

3. Tipos de Rastreadores web

3.1 Rastreador Web multihilo Un rastreador multihilo, es aquel en el cual cada hilo es un ciclo de crawling, el cual puede proveer velocidades razonables y hacer eficiente el uso del ancho de banda. La figura que se mostrara ms adelante, muestra una versin multihilo del rastreador bsico [8]. Cada hilo comienza localizando en la frontera una URL para descargar. Despus de elegir la URL desbloquea la frontera para permitir a otros hilos el acceso a sta. La frontera es nuevamente bloqueada cuando una nueva URL es aadida. El bloqueo es necesario para sincronizar el uso de la frontera que es ahora compartida por varios ciclos de crawling (threads o hilos). Un rastreador tpico debe de mantener un historial compartido para un rpido acceso a la localizacin de URL que sern descargadas. Por lo tanto en adicin a esto, la frontera debe de ser sincronizada para el acceso al historial.

Pgina 23

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

El modelo multihilo necesita manejar el acceso a una frontera vaca, tal como lo hace un rastreador secuencial. Aun as, si un hilo encuentra la frontera vaca no significa que automticamente el rastreador ha descargado todas las pginas y debe terminar su proceso. Es posible que otro hilo haya descargado nuevas pginas y nuevas URL sean aadidas a la frontera en un futuro cercano. Una forma de manejar esta situacin es enviar a un hilo a un estado de sleep (dormir) cuando se encuentre la frontera vaca. Cuando el hilo despierte verificara la frontera para solicitar una URL nuevamente. Solo cuando todos los hilos se encuentren en estado de sleep, el proceso de crawling terminara.

Figura 6. Rastredor mutlihilo.

3.2 Rastreadores para la Web profunda La web profunda (Deep Web o Hidden Web) se refiere al contenido escondido detrs de formularios HTML que no puede encontrarse mediante un motor de bsqueda estndar (cerca de 10 millones de pginas de contenido de alta calidad detrs de formas HTML) [16]. Mientras que la mayora de la informacin en la superficie de la Web est en forma de datos no estructurados como texto HTML (e imgenes), la naturaleza de la Web profunda es diferente. Las bases de datos que se encuentran en la Web profunda se pueden clasificar en dos tipos: Pgina 24

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

1) Bases de datos no estructuradas, que proveen objetos de datos no estructurados (por ejemplo, texto, imgenes, audio y video) 2) Bases de datos estructuradas que proveen objetos de datos estructurados como relaciones" de registros de pares atributo-valor, como lo muestra en la figura 7:

Figura 7. Rastreadores para la Web profunda

En la Web profunda los rastreadores extraen los datos para que puedan ser reutilizados, indexados y buscados en un ambiente integrado. El Crawling de la Web profunda es el proceso de recolectar datos escondidos mediante el uso de consultas a travs de varias interfaces incluyendo formularios HTML, Servicios Web y APIs para programacin Web. Para realizar un crawling de la Web profunda, es necesario contar con un rastreador llamado Deep Web Crawler. Dado un recurso de la Web profunda en particular, un Deep Web Crawler, enva peticiones repetidamente mediante formularios y extrae datos estructurados presentes en los resultados que regresa la consulta. Enviar las consultas mediante formularios y extraer los datos de las pginas regresadas como respuesta son las dos funciones ms importantes de un Deep Web Crawler. Un rastreador necesita generar los valores de entrada para los Pgina 25

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

campos de las interfaces de consulta para poder obtener los datos de las bases de datos de la Web [15]. La informacin para enviar la consulta y la extraccin de datos estructurados de las pginas de resultados pueden ser codificados en reglas que algn programa especializado que realice tareas de extraccin de informacin comnmente denominados wrappers pueden interpretar. Entonces, un wrapper debe ser construido primeramente antes de que se realice el proceso de crawling de un recurso de la web profunda. La construccin de un wrapper permite un rpido envi y una extraccin estructurada de datos necesario para Deep Web Crawlers a gran escala [9].

3.1 Rastreadores para la web semntica Actualmente la Web se compone principalmente de documentos escritos en HTML. Esto hace que la Web sea legible para los humanos, pero difcil de entender para las computadoras, es en este sentido donde aparece la Web semntica. La idea de la Web semntica es ofrecer a los usuarios una mejor web" donde la informacin proporcione un significado que las computadoras puedan entender permitiendo que trabajen con la informacin de una manera ms inteligente [17]. La Web semntica, simplifica el descubrimiento, reutilizacin y manejo de conocimiento debido a la representacin formal de la informacin y los recursos en lnea, ya que enriquece la infraestructura de publicacin de la web con ontologas y descripciones formales y explcitas de los datos [19]. Requiere tecnologas que puedan expresar las reglas de la informacin, y use esas reglas para realizar inferencia y respuestas a cuestionamientos[18]. 3.2 Rastreadores web dirigidos por temas Un rastreador dirigido (tambin conocido como focused crawler o topical crawler), obtiene pginas relevantes a un tema especfico. Un rastreador dirigido por temas debe decidir con mucho cuidado cuales URL debe de escanear y qu orden debe perseguir, basado en informacin de pginas descargadas previamente [1]. Adems, se debe limitar slo analizar una pequea porcin de la Web. En una forma muy simple, un rastreador enfocado consiste en una clasificacin supervisada (algunas veces llamada aprendizaje) controlando la prioridad de la frontera sin visitar del rastreador. El clasificador es entrenado con anterioridad con Pgina 26

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

ejemplos de documentos incluidos en una taxonoma. As, aprende a etiquetar documentos que pertenecen a un tema especfico [7]. Este tipo de rastreadores utilizan reglas de decisin basadas en el anlisis de la estructura de los enlaces y texto que estos contienen, para mantener el rastreador enfocado en un tema especfico, con el fin de realizar de una mejor manera el proceso de rastreo [4]. La meta de estos rastreadores es maximizar el monto de pginas relevantes que son obtenidas explotando la estructura de la web combinando tcnicas de clasificacin [7]. Hoy en da, los rastreadores dirigidos por temas se han convertido en la base para muchos servicios especializados como portales de inversiones, herramientas de inteligencia competitiva y repositorios de artculos cientficos. La tarea de un rastreador de este tipo tiene varias caractersticas. stas incluyen cmo es definido el tema o dominio de inters del rastreador, el mecanismo por el cual son seleccionadas las pginas semillas con que se iniciar el proceso de rastreo y la localizacin de pginas que son relevantes para el tema a tratar de acuerdo a las pginas iniciales[4].

Pgina 27

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

4. Algoritmos de Rastreo Web A lo largo de esta seccin se presenta una breve descripcin de los algoritmos ms populares de rastreo web encontrados en la literatura. 5.1. Fish-Search Fish-Search es un algoritmo de rastreo web que recolecta datos de la web simulando un grupo de peces" navegando en la web, llamados fish-search" donde cada URL corresponde a un pez el cual su supervivencia depende de la relevancia de una pgina visitada y la velocidad del servidor remoto. La relevancia de una pgina, es estimada usando una clasificacin binaria (la pgina es irrelevante o no) usando una simple palabra clave (keyword) o la coincidencia con una expresin regular. Solo cuando un pez atraviesa un nmero especfico de pginas irrelevantes muere o se apaga. En cada documento el pez produce un nmero de descendientes que depende de la relevancia de la pgina y el nmero de links extrados. El pez por consiguiente emigra en una direccin en general a pginas relevantes que son presentadas como resultados. El punto de partida es especificado por el usuario que proporciona unas pginas semillas iniciales que son usados para obtener una URL inicial. Las URLs son aadidas al principio de una lista del rastreador el cual hace de esta lista una especie de depth-first search (bsqueda primero en profundidad) [6]. La figura 8 muestra el algoritmo Fish-Search [14].

Pgina 28

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Figura 8. Algoritmo Fish-Search

5.2. Breadth-First El algoritmo Breadth-First, utiliza la frontera como una cola FIFO, realiza el rastreo de los enlaces en el orden en que estos son encontrados. Cuando la frontera est llena, el rastreador puede aadir solo el enlace para una pgina que ya ha sido descargada. El rastreador est ilustrado ms adelante en la parte(a) y el algoritmo en la parte(b) [12]. Breadth-First no utiliza algn conocimiento acerca del tema, que se trata de obtener, por lo que tiene un rendimiento inferior que algunos algoritmos ms sofisticados [13].

Figura 9. Algoritmo Breadth-First

5.3. Best-First

Pgina 29

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

El algoritmo Best-First, se basa en la idea de que dada una frontera de links, el mejor link de acuerdo a un criterio de estimacin es seleccionado para el rastreo. Existen diferentes estrategias de Best-First para incrementar la complejidad y (potencialmente) su efectividad pueden ser diseadas basadas en el incremento de un criterio estimacin sofisticada de enlaces [10]. La figura 9 ilustra el algoritmo Best-First.

Figura 9. Algoritmo Best-First

Muchos algoritmos de crawling son variaciones del Best-First, donde una lista de URLS que no han sido visitadas es mantenida como una cola de prioridad. Las URL que no han sido visitadas corresponden a las pginas que an no han sido descargadas por el rastreador. La lista de estas URL's es almacenada en el rastreador en la frontera. Cada URL que no ha sido visitada tiene una calificacin asociada que refleja el beneficio de seguir esta URL y as determinar su prioridad para descargarla. Variaciones del best-first pueden producir una variedad de heursticas utilizadas para calificar las URL que no han sido visitadas en la frontera. Las heursticas afectan la calificacin de las URL que no han sido visitadas y por consiguiente la ruta del rastreador [5].

Pgina 30

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

5.4. Shark-Search El algoritmo Shark-Search es una variante del algoritmo Fish-Search con algunas mejoras. Este algoritmo usa una medida de similaridad para estimar la relevancia de una URL que no ha sido visitada tomando en cuenta una combinacin lineal del origen de la relevancia de la pgina [6]. Aun as, Shark-Search tiene una nocin ms refinada de una calificacin potencial para los links en la frontera del rastreador. El texto del enlace, el texto alrededor del enlace o el contexto del enlace, y una calificacin heredada de las pginas ancestros tiene influencia sobre la calificacin potencial del enlace. Las URLs ancestros son las pginas que aparecen en la ruta del rastreador a la URL. Shark-Search, como su predecesor Fish-Search, mantiene un lmite de profundidad. Esto es, si el rastreador encuentra una pgina no importante en la ruta del rastreador, ste se detiene para esa ruta. Para habilitar un seguimiento de toda la informacin, cada URL en la frontera es asociada con una profundidad y una calificacin potencial [8]. A diferencia de Fish-Search, la relevancia de una pgina es calculada como la similaridad entre un documento y una consulta en un vector del modelo espacio vectorial y puede ser un nmero real entre 0 y 1 [6].La figura 10 muestra el pseudocdigo de este algoritmo [13].

Pgina 31

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Figura 10. Pseudocdigo del algoritmo Shark-Search

5.5. PageRank El algoritmo PageRank fue propuesto como un posible modelo de comportamiento de la navegacin del usuario. El PageRank de una pgina representa la probabilidad de que un usuario aleatorio navegue (en uno de los siguientes enlaces aleatoriamente de una pgina a otra) en una pgina en un momento dado. Una pgina es calificada dependiendo recursivamente de las calificaciones que tengan las pginas que apuntan a ella. Las pginas origen distribuyen su PageRank a travs de todos los enlaces que salen de ella [11]. A continuacin se presenta una figura con el pseudocdigo del algoritmo PageRank:

Figura 11. Psedocdigo del algoritmo PageRank

Pgina 32

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

5. Formas de evaluar un rastreador De manera general, un rastreador enfocado habilidad de obtener pginas buenas". Aun reconocer estas pginas buenas. Dentro de la estudios para evaluar rastreadores enfocados, mencionan se pueden encontrar: Relevancia de las Pginas Precisin Cobertura Similaridad Robustez. puede ser evaluado en base a la as, el mayor problema es como literatura se han realizado diversos entre las medidas comunes que se

En base a la forma en que clasifican las pginas, se pueden encontrar medidas utilizando clasificadores como: Naive Bayes, SVM, y Neural Networks. De acuerdo al tema que se trate el rastreador, se consideran medidas como TopicPopularity, Target Cohesiveness, Target Authoritativeness y Seed-Target Similarity para evaluar crawler dirigidos por temas [4]. Estas medidas se explicarn en las siguientes secciones.

7.1. Relevancia de las pginas Para obtener un alto valor de relevancia, el rastreador debe de pasar por pginas irrelevantes visitadas durante el proceso de crawling e ignorarlas. Si una pgina es irrelevante y sus parientes son relevantes, su profundidad y sus outlinks deben de tener un valor de 0. Si la pgina es relevante y sus parientes tambin lo son los valores cambian. Pgina 33

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Existen rastreadores que miden la relevancia de las paginas usando un criterio lxico y aquellos que usan un criterio basado en enlaces. El criterio lxico se puede ver desde varias formas [1]: 1. Explorando la presencia de una simple palabra como computer en el ttulo o cerca de un umbral de frecuencia en el cuerpo de la pgina es suficiente para indicar si una pgina es relevante. 2. Calculando la similaridad entre el vector de las pginas y el centro de los documentos semilla como una medida de la calidad de la pgina. 3. Aplicando un clasificador construido utilizando ejemplos de pginas positivas y negativas para determinar la importancia de la pgina.

Por otro lado, algunos de los criterios ms comnmente utilizados basados en enlaces para medir la importancia de las pginas son [2]: PageRank, Hubs y Authorities. PageRank mide la importancia basada en los enlaces que entran y salen de las pginas midiendo la credibilidad de las pginas, adems de considerar pginas con un cierto PageRank cerca de un umbral predefinido [4]. Un Hub se define como las pginas web que apuntan a un grupo de pginas importantes o relevantes a un tema [1]. Authorities son aquellas pginas muy importantes sobre un tema especfico, por ejemplo para noticias una pgina relevante es la pgina de CNN. Existe una versin recursiva de Hubs y Authorities que considera los pesos en los enlaces que conectan a diferentes sitios [2]. Es extremadamente difcil medir o aun definir la relevancia para un rastreador dirigido, porque tenemos un subconjunto incompleto y una nocin subjetiva de qu es una buena cobertura en un dominio [3]. Algunos mtodos que pueden ser usados para medir la relevancia de las pginas [8]: 1. Palabras claves (Keywords) en el documento. Una pgina es considerada relevante si sta contiene algunas o todas las palabras claves de la consulta. Tambin, la frecuencia con la cual las keywords aparecen en la pgina puede ser considerado. Pgina 34

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

2. Similaridad a la consulta. A menudo el usuario especfica necesidades de informacin en una consulta corta. En algunos casos una descripcin ms larga de la necesidad puede estar disponible. La similaridad entre la consulta corta o una descripcin larga y cada pgina descargada puede ser usada para juzgar la relevancia de las pginas. 3. Similaridad con las pginas semillas. Las pginas que corresponden a las URL semillas son usadas para medir la relevancia de cada pgina que es descargada. Las pginas semillas son combinadas junto con un documento y utilizando la similaridad del coseno de este documento y la pgina descargada es usada para calcular una calificacin de relevancia de la pgina. 4. Calificacin del clasificador. Un clasificador puede ser entrenado para identificar las pginas que son relevantes a la necesidad de informacin o a la tarea. El entrenamiento es realizado utilizando las pginas semilla (o relevantes pre-especificadas) como ejemplos positivos. El entrenamiento del clasificador puede entonces proporcionar una relevancia booleana o continua a calificar cada pgina descargada. 5. Ranking del sistema de recuperacin. N diferentes rastreadores son iniciados para las mismas pginas semillas y se dejan funcionar hasta que obtienen P pginas. Todas las N y P pginas recolectadas por los rastreadores son rankeadas contra la consulta inicial o la descripcin usando un sistema de recuperacin. El ranking proporcionado por el sistema para una pgina es usado como una calificacin de la relevancia. 6. Popularidad basada en los enlaces. Se pueden utilizar algoritmos como el PageRank o Hits (nmero de veces que aparece una palabra en un documento), que proporcionan la popularidad estimada de cada pgina descargada. Un mtodo ms sencillo sera simplemente utilizar el nmero de enlaces a la pgina descargada para obtener informacin similar.

6.2.

Precisin y cobertura

Las mtricas de precisin y cobertura son mtricas similares a los sistemas de recuperacin de informacin (IR). La precisin es la fraccin de pginas descargadas que son relevantes para la informacin que necesita el usuario del Pgina 35

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

total de pginas en la web, mientras que la cobertura es la fraccin de pginas relevantes que son descargadas del total de pginas relevantes que se encuentran disponibles en la web de ese tema. Estimando la relevancia de las pginas a travs de la similaridad lxica se puede aproximar la cobertura para el conjunto completo de pginas descargadas. Para la precisin la proporcin de pginas que son relevantes es estimada como el promedio de la calificacin de similaridad de las pginas, a continuacin algunas medidas para la precisin [8]: 1. Tasa de adquisicin. En caso de que se tengan resultados de relevancia booleana se puede medir la tasa de buenas" pginas que se encuentran. Por lo tanto, si tenemos 50 pginas relevantes encontradas en las primeras 500 pginas descargadas, entonces tenemos una taza de adquisicin o tasa de cosecha"de 10% para 500 pginas [8]. 2. Porcentaje de relevancia. Si la calificacin de relevancia es continua, puede ser el promedio sobre las pginas descargadas. Esto es una manera ms general para una tasa de cosecha. La calificacin de similaridad puede ser calculada mediante la funcin de similaridad por coseno o un clasificador entrenado. El clculo de la cobertura para la Web es difcil, algunos indicadores para estimar la cobertura son [4]: a) Objetivo de cobertura. Un conjunto de URL relevantes previamente conocidas son divididas en dos conjuntos separados sets-targets (conjunto objetivo) y semillas. El rastreador es iniciado con las pginas semillas y la cobertura del objetivo es calculada con la frmula siguiente:

Donde Pt es el conjunto de pginas objetivo, y Pc es el conjunto de pginas descargadas. La precisin del conjunto objetivo es usada como una estimacin de la precisin de las pginas relevantes [8]. b) Robustez. Las semillas URL son divididas en dos conjuntos deparados Sa y Sb. Cada conjunto es usado para inicializar una instancia del mismo rastreador. El traslape en las pginas descargadas empezando desde los dos conjuntos separados es medida. Un gran traslape es Pgina 36

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

interpretado como robustez del rastreador en la cobertura de una porcin relevante de la web. Esta robustez es independiente de la importancia de las pginas [8] y [2]. Existen otras mtricas para calcular el rendimiento de los rastreadores, de manera que se pueden combinar con la precisin y cobertura [8].

1.2.

Similaridad

Un rastreador dirigido por tema debe de mantenerse cerca del tema que se est evaluando, para lograr esto se utiliza el modelo espacio vectorial, para medir el porcentaje de similaridad del coseno entre el vector TF-IDF del tema y el vector TF-IDF de cada pgina visitada hasta un cierto punto del rastreador [2]. TFIDF asigna el peso a una palabra i en un documento k en proporcin al nmero de ocurrencias de la palabra en el documento, y es inversamente proporcional al nmero de documentos en la coleccin para los que la palabra aparece al menos una vez.

1.3.

Evaluacin usando clasificadores

En situaciones donde se cuentan con ejemplos relevantes para el tema, es natural utilizar clasificadores cuando se realiza el rastreo web. Entre los estudios para evaluar rastreadores mediante el uso de algn clasificador se pueden mencionar clasificadores como Naive Bayes, Mquinas de soporte vectorial (SVM) o Redes Neuronales, encontrando que las SVM y Redes Neuronales tienen un desempeo similar para un topical rastreador, adems de que requieren menor tiempo de entrenamiento que el clasificador Naive Bayes. Page-Rank es el ltimo en la clasificacin, debido a que favorece pginas autoritativas en un contexto general, sin tomar en cuenta el tema en cuestin [5].

1.4.

Evaluacin del Tema

Se consideran medidas como TopicPopularity, Target Cohesiveness, Target Authoritativeness y Seed-Target Similarity para evaluar un rastreador dirigido por temas en relacin al tema que se trata [4].

Pgina 37

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

1. Popularidad del tema (Topic Popularity). Es el tamao del tema estimado por el nmero de pginas que contienen palabras clave del tema y que son indexadas por los motores de bsqueda. Indica el nivel de inters en el tema. 2. Cohesividad del Tema (Target Cohesiveness). Es la exclusividad de las pginas del tema en el espacio de enlaces. Estima qu tan cerca se encuentran las pginas relevantes al tema. Esta es obtenida examinando las pginas vecinas de las pginas objetivo. 3. Autoridades en el Tema (Target Authoritativeness) . Una autoridad es una pgina que tiene varias pginas buenas o Hubs apuntando a esta. Es el promedio de las pginas autoridades del tema entre las pginas vecinas. 4. Similaridad de las pginas semillas con el tema (Seed-Target Similarity). Es el porcentaje de similaridad entre las pginas semilla y la descripcin del tema. Si las pginas objetivo del tema son lxicamente similar a las pginas semillas, esta medida es fcil de calcular.

Pgina 38

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

1. DESARROLLO DEL PROYECTO Al llegar este punto del documento, tenemos nocin de todo lo que implica realizar un rastreo web, lo cual es la parte medular que se ha desarrollado para realizar la comparacin entre distintos rastreadores web y de esta manera definir de acuerdo a la literatura consultada y mediante evaluaciones de funcionamiento de cada uno, cual es la mejor opcin en cuanto a rastreo web, tomando muy en cuenta que entre las caractersticas del rastreador que sea elegido, debe sobresalir, el hecho de que este pueda ser programado como un rastreador web enfocado. 1.1 Rastreador Web Combine Como primer opcin para realizar pruebas, se hizo una revisin del sistema Combine, un rastreador web que puede trabajar como un rastreador universal o como un rastreador dirigido por temas (focused crawler). El rastreador web Combine es un sistema de cdigo abierto y altamente configurable para rastreo web enfocado de los recursos de internet. Este rastreador provee de una herramienta robusta para la creacin de la especificacin de un tema, y las bases de datos donde se guardaran los resultados que arroje el rastreo web que se ejecute. Combine tiene una velocidad de rastreo de 200 URLs por minuto y una estructura completa de record que ocupa en promedio 25 kilobytes en espacio de disco. Dentro de las principales caractersticas de Combine se incluyen: Parte de un sistema de un motor de bsqueda. Posibilidad de configuracin extensiva. Integra un filtro de temas para el rastreo web enfocado. Posibilidad de uso de cualquier otro filtro para el modo de rastreador enfocado. Rastrero basado en expresiones regulares en las URLs. Conjunto de calidad en el proceso de deteccin y normalizacin. Deteccin de Lenguaje. Limpieza de HTML. Extraccin de metadatos. Deteccin de Duplicados. Parseo HTML para proveer una estructura de records por cada pgina que haya sido alcanzada por el rastreador. Pgina 39

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Soporte para diferentes formatos de documentos (texto, HTML, PDF, PostScript, MSWord, MSPowerPoint, MSExcel, RTF, TeX, imagenes). Base de datos SQL para almacenamiento y administracin. Para la definicin de temas, el sistema Combine utiliza BNF, el cual se define en archivos de texto, se debe hacer una especie de diccionario que defina el tema al cual se va dirigir el rastreo. Para iniciar las pruebas, se procedi a la instalacin de una herramienta llamada Simulation tool, escrita en lenguaje JAVA, la cual fue creada para hacer pruebas con dicho rastreador, se efectu la descarga e instalacin tanto de la herramienta de simulacin y el rastreador Combine, pero tras varios intentos de obtener resultados similares a los presentados en la pgina oficial del sistema Combine, se lleg a la conclusin de que no mostraba dichos resultados como se indicaba en el sitio oficial, debido a la falta de documentacin del mismo rastreador, ya que es un sistema que al parecer ya no siguieron dndole soporte, despus de la presentacin de la herramienta, por lo cual se decidi dejar este rastreador e iniciar la revisin de un rastreador ms.

1.1 BINGO:

Bookmark-Induced Gathering of Information with Adaptive Classification into Personalized Ontologies

El sistema BINGO implementa un enfoque para rastreo web dirigido por temas, que tiene como objetivo superar las limitaciones de una formacin inicial de datos. BINGO es capaz de identificar documentos por temas implementando un clasificador lineal SVM. El sistema BINGO consiste en seis componentes principales: El rastreador web. Un analizador de documentos HTML, el cual produce un vector de caractersticas por cada documento. Un clasificador SVM con el cual se hace el entrenamiento de datos. Un componente de seleccin de caractersticas, con lo cual se reduce el ruido, que sirve como filtro para el clasificador. Analizador de links, el cual es un mdulo para determinar el tema, Authorities y hubs. Mdulo de entrenamiento para el clasificador que es invocado peridicamente para el re-entrenamiento. Pgina 40

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Figura 12. Arquitectura del rastreador web Bingo

BINGO es un sistema muy completo, que incluye diferentes caractersticas superiores a las que se pretendan llegar en el presente proyecto, an as se procedi a la instalacin de BINGO para ver si era posible trabajar nicamente con el rastreador web del sistema utilizando una Ontologa para dirigir el rastreador a un tema especfico, sin embargo como en el caso anterior no se logr correr el rastreador, el sistema BINGO no permiti la instalacin de nicamente el rastreador, ya que durante el proceso de instalacin, se pudo constatar que para que el rastreador funcionara deban ser instalados todos los elementos del sistema, ya que todos sus elementos son dependientes y adems solicitaba la instalacin de una aplicacin llamada MINERVA, la cual ya no cuenta con soporte por parte de sus creadores, por lo cual no estaba disponible. Llegando a estos resultados, se opt por dejar el sistema BINGO y proceder a revisar otros rastreadores que se pudieran utilizar de manera independiente.

1.1 Rastreador Web Nutch Apache Nutch es in rastreador web de cdigo abierto escrito en JAVA, mediante el uso de este podemos realizar las tareas de robot de bsqueda, esto es, para Pgina 41

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

rastrear la web recuperando las pginas que componen la red a travs de la estructura de enlaces existente entre ellas. Nutch crea una base de datos con todos los enlaces encontrados, al tiempo que guarda una copia de todas las pginas localizadas y el resultado del anlisis de su contenido, pues incorpora parsers para muchos formatos, no solamente HTML. Nutch puede ser integrado con el proyecto Solr para poder echar a andar el buscador de Nutch, pero en este trabajo no tenemos la intencin de trabajar con el buscador, en esta ocasin solo nos interesamos en el rastreador. El rastreador web de Nutch puede ser ejecutado en una sola mquina, pero tambin puede ser utilizado en un sistema distribuido para lo cual Nutch es integrado con Hadoop (framework para sistemas distribuidos). El proyecto Nutch hasta la fecha esta soportado por Apache Software Fundation por lo cual adems de sus caractersticas, es una buena opcin para ser una serie de pruebas. Cabe mencionar que puede ser implementado como rastreador web enfocado utilizando el API de Nutch, pero al momento de ser descargado e instalado trabaja como un rastreador web universal. Para propsito de pruebas se descarg la versin actual de Nutch, la cual es la 1.4, a continuacin se muestra la instalacin y ejecucin del rastreador web de Nutch 1.4. Requisitos para la instalacin de Nutch: Es preciso tener previamente instalado Java SDK 1.5 o superior.

Instalacin Nutch 1.4 Paso 1: Ir a http://www.apache.org/dyn/closer.cgi/nutch/ donde nos sugerirn un repositorio desde el que descargar Nutch. En nuestro caso, debemos seleccionar el siguiente enlace http://apache.webxcreen.org//nutch/, all pinchamos en la versin ms adecuada, en nuestro caso, apache-nutch-1.4-bin.tar.gz, y guardamos el archivo en el Escritorio. Paso 2: Mover el archivo al lugar donde vaya a instalarse el programa, en nuestro caso, /usr/local. Para ello tecleamos en un terminal: $ mv /home/leslizb/Escritorio/apache-nutch-1.3-bin.tar.gz /usr/local/

Pgina 42

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Paso 3: Descomprimir el archivo en su lugar de instalacin. Para ello tecleamos un terminal: $ cd /usr/local $ tar -zxvf apache-nutch-1.3-bin.tar.gz Ello crear el directorio nutch-1.3 en /usr/local/ Paso 4: Verificar la correcta instalacin de Nutch. Para ello, ir a /usr/local/nutch1.3/runtime/local tecleando en un terminal: $ cd /usr/local/nutch-1.3/runtime/local Una vez all, permitiremos la ejecucin del programa al usuario que habitualmente emplear el programa. Considerando que es el mismo que ha seguido los pasos hasta aqu, basta teclear en un terminal: $ chmod +x bin/nutch De igual forma, debemos comprobar que la variable de entorno JAVA_HOME est correctamente configurada. Efectuadas estas comprobaciones y estando situados en el directorio donde esta instalado Nutch, ejecutamos el programa tecleando: $ bin/nutch La instalacin es correcta si se observan las siguientes lneas: Usage: nutch [-core] COMMAND where COMMAND is one of: .......................................... NOTE: this works only for jobs executed in 'local' mode Paso 5: Configurar inicialmente el programa para poder realizar rastreos de la web. En primer lugar, debemos incluir el nombre del agente -nosotros, nuestro equipo de investigacin, la Facultad, etc.- que llevar a cabo el rastreo. Esta informacin sobre quin lleva a cabo las tareas de rastreo debe aadirse a uno de los archivos de configuracin del programa. Suponiendo que el agente es Mi robot Nutch, primeramente nos situamos en: $ cd /usr/local/nutch-1.3/runtime/local/conf

Pgina 43

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

A continuacin, para conservar la versin inicial del archivo nutch-site.xml, lo renombramos: $ mv nutch-site.xml nutch-site-old.xml Luego hacemos una copia del archivo nutch-default.xml para emplearlo como archivo nutch-site.xml, que a su vez modificaremos posteriormente para configurar el programa adaptndolo a nuestras necesidades: $ cp nutch-default.xml nutch-site.xml Ahora editamos el archivo nutch-site.xml: $ gedit nutch-site.xml Y modificamos la propiedad agent.name de manera que quede: <property> <name>http.agent.name</name> <value>Mi robot Nutch</value> <property> Guardamos los cambios efectuados en el archivo. Paso 6: Crear un archivo de texto plano con las urls iniciales que se emplearn a modo de semillas (seeds) para rastrear la web. Para ello, creamos un directorio denominado urls directamente bajo nutch- 1.3/runtime/local: $ mkdir /usr/local/nutch-1.3/runtime/local/urls Creamos el archivo lista: $ gedit /usr/local/nutch-1.3/runtime/local/urls/lista Una vez hayamos tecleado las URLs, cerramos el archivo. En la figura se muestra el archivo de URLs seleccionadas como semilla.

Pgina 44

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Figura 13. Lista de semillas para rastreadores en prueba

Paso 7: Estamos en condiciones de efectuar un primer rastreo web de Nutch. Para ello nos situamos en: $ cd /usr/local/nutch-1.3/runtime/local $ bin/nutch crawl urls -dir crawl -depth 3 -topN 5 Se habr creado el directorio nutch-1.3/runtime/local/crawl con los siguientes subdirectorios: crawldb, linkdb y segments, donde se hallan los resultados del rastreo del sitio web de Nutch. Paso 8: Para comprobar cuntas urls hay en la base de datos y cuntas han sido rastreadas, ejecutamos el siguiente comando en un terminal: $ bin/nutch readdb /usr/local/nutch-1.3/runtime/local/crawl/crawldb -stats

Se mostrar en pantalla una informacin semejante a esta: TOTAL urls: 413 ........................ ........................ status 1 (db nfetched): 402 status 2 (db_fetched): 11 CrawlDb statistics: done 1.1 WIRE - Web Information Retrieval Environment

Pgina 45

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

El proyecto WIRE es un producto iniciado por el Center for Web Research para la creacin de una aplicacin para recuperacin de informacin, diseado para su uso en la web. Actualmente incluye: Un formato simple para almacenamiento de una coleccin de documentos web. Un rastreador web. Herramientas para extraccin de estadsticas de una coleccin. Herramientas para generar reportes de la coleccin. Las caractersticas principales de WIRE son: Escalabilidad: Diseado para trabajar con grandes volmenes de documentos, probado con algunos millones de documentos. Rendimiento: Escrito en C/C++ para alto rendimiento. Configurable: Todos los parmetros para el rastreo e indexado pueden ser configurados mediante archivos XML. Anlisis: Incluye algunas herramientas para el anlisis, extaccin y generacin de reportes en subconjuntos de la web, por ejemplo la web de un pas o una intranet. Open-source: el cdigo es libre y disponible. WIRE representa una buena opcin para la eleccin del rastreador web, ya que de la misma manera que Nutch, es posible trabajar con el rastreador web del proyecto independientemente del resto de los componentes. Una vez que conocemos las capacidades de WIRE, y teniendo en cuenta que es un proyecto que sigue siendo soportado por sus creadores, podemos continuar al siguiente paso que es la instalacin y pruebas con el rastreador web de WIRE. Instalacin de WIRE-0.22 Para propsitos de este trabajo, nos dirigimos a http://www.cwr.cl/projects/WIRE/releases/ de donde descargamos la versin reciente de WIRE, la cual es la 0.22. Requerimientos para instalacin Los siguientes son paquetes requeridos para instalar WIRE. adns xml2 swish-e Pgina 46

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

djbdns docbook-xls Para instalar WIRE, debemos colocar cada uno de los paquetes anteriores en el directorio de WIRE y una vez que estos estn ah e instalados, ahora si es el momento de iniciar la instalacin de WIRE. Estando en el directorio de WIRE, procedemos a ejecutar los siguientes comandos para la instalacin, la cual puede tomar unos minutos. % ./configure % make % make install De esta manera WIRE, ya ha sido instalado en la mquina. Ahora seguiremos con la configuracin del rastreador.

El rastreador web de WIRE est compuesto por algunos programas. Una operacin normal del rastreador involucra ejecutar repetidamente el ciclo seedermanager-harvester-gatherer-seeder. A continuacin una breve descripcin de los componentes del rastreador web: wire-bot-reset Limpia el repositorio, crea una estructura de datos vacia y prepara todo para un nuevo proceso de rastreo. Como alguna de las estructuras de datos requiere espacio en disco. wire-bot-seeder Recibe URLs para el recolector (o para las URLs iniciales) y agrega los documentos para enviarlos al repositorio. Este es usado por ambos, por el conjunto de URLs iniciales y por el parseo de URLs que han sido extradas por el programa de recoleccin de paginas descargadas. wire-bot-manager Crea lotes de documentos de la recoleccin para ser descargadas. Este tipo de programas crea lotes del documentos llamados scores para el recolector. Los resultados se dan por una combinacin de factores que son descritos en el archivo de configuracin.

Pgina 47

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

wire-bot-harvester Este programa descarga los documentos de la web. El programa trabaja en este directorio con la estructura de datos y puede ser detenida en cualquier momento. wire-bot-gatherer Analiza los documentos descargados y extrae las URLs. Este toma las paginas descargadas por el recolector del directorio, y une estas pginas en una coleccin principal. wire-bot-run Ejecuta varios ciclos de la forma "seeder-manager-harvester-gatherer". Configuracin El archivo de configuracin de WIRE, es un archivo XML. Para que el rastreador pueda ser ejecutado, se debe crear un variable de entorno llamada WIRE_CONF la cual debe apuntar al archivo de configuracin. A continuacin se presenta el archivo de configuracin utilizado en la prueba realizada para este trabajo:
<?xml version="1.0"?> <!-config/collection/base=/opt/wiredata config/seeder/accept/domain-suffixes=.mx config/collection/maxdoc=1,000 config/collection/maxsite=150,000 config/harvester/resolvconf=208.67.222.222 --> <!-Configuration file for WIRE. 1. MANDATORY SETTINGS You must set these before starting. collection/base The directory where the collection is stored. collection/maxdoc collection/maxsite The maximum number of documents and sites, this is fixed and cannot be modified once the crawler has started! The actual maxima are 80% of this. seeder/link/accept/domain-suffixes The domain suffixes (country codes, domain names, etc.) that will be downloaded by the crawler. harvester/resolvconf The location of the dns servers 2. Recommended settings: harvester/nthreads The maximum number of simultaneous downloads Number suffixes:

Pgina 48

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

K M m h d w --> <config>

= = = = = =

1,000 1,000,000 minute hour day week

Decimal kilo Decimal mega

<!-- Parameters for storing the complete collection. A collection must reside completely in a directory.--> <collection>

<!-- Base directory for storing everything in the collection. This directory is cleaned by 'wire-bot-reset'; after this, it is possible to mount other filesystems in the sub-directories if more space is required. --> <base>/opt/wiredata</base> <!-- These values are fixed in a collection. If you change these values, you must execute 'wire-bot-reset' to delete the collection and re-generate the data files, so it is strongly recommended that you left enough space for growing. Typical values are: (.gr) 15000000 and 150000 (.es) 10000000 and 80000 (.cl) 3500000 and 150000 *** IMPORTANT! The maximum number actually allowed is 80% of this, so if you have 800 sites, you have to set maxsite to 1000 *** Note also that these defaults are VERY SMALL: 1,000,000 pages in 1,000 sites. They are good for a exploratory crawl but not for a large scale crawl (I've used up to 50M and 1M respectively) --> <maxdoc>1M</maxdoc> <maxsite>1M</maxsite> </collection> <!-- Parameters for the seeder program. The seeder program receives lists of urls obtained by the gatherer program, check if they have been seen before, and then decides what to do with them --> <seeder> <!-- All the links that match these conditions will be added to the crawler's queue by default --> <accept> <!-- List of accepted protocols, these must be supported by the harvester. Currently the only supported protocol is "http". --> <protocol>http</protocol> <!-- List of domain suffixes to accept for new links, or list of top-level domains. e.g.: ``.cl'' for Chile Note that ALL sites given as seeds will be accepted anyway, so this setting applies only to new links. Normally, all of them start with a dot. This list is case-insensitive.--> <domain-suffixes>.mx</domain-suffixes> </accept>

Pgina 49

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

<!-- Don't add more than this number of URLs per each site, note that most large Web sites have infinitely many URLs. Default: 10K --> <max-urls-per-site>10K</max-urls-per-site> <!-- This is to make some exceptions on the links that are accepted, based on the filename extension --> <extensions> <!-- Extensions that must be downloaded. --> <download> <!-- As all filename extensions are downloaded by default, this list is not used during the crawling. It is only used for reports at this moment. --> <static> <group label="document">xhtml:dhtml:html:htm txt</group> </static> <!-- Files with a '?' in the url are marked as dynamic, and they must also should be marked as dynamic if they have one of these extensions. Note that these files will be added, the crawler supports dynamic pages. --> <dynamic> <group label="cgi">act dll shtml:shtm php:phtml:php5:php4:php3 cfm jsp jhtml asp:aspx:asx cgi pl tpl storefront py fcgi dyn bin zhtml htx d2w</group> </dynamic> </download> <!-- Files with these extensions must not be added to the crawler's queue, they must be logged. The log includes the source docid where the link was found, tag and position, the link to the file and the caption, if any --> <log> <group label="nonhtmldoc">doc pdf xml xls rtf ppt:pps ps:eps mso tex dsc asc log rdf dvi docbook sgml</group> <group label="audio">ram:ra:rm mp3 wma mid pls:m3u wav asf au</group> <group label="video">avi qt wmv mov mpg:mpeg</group> <group label="software">exe rpm diff patch iso deb:debian:udeb pdb:prc jar</group> <group label="source">h c cc:cpp java:jav sh glade in ada</group> <group label="compress">zip gz tar:tgz z lhz:lha rar hqx sit bz2:bzip2</group> </log> <!-- Files with these extensions mut be counted and nothing else. The count includes the extension and the number of times it appeared in the collection, nothing else. The items will be counted only if they are in the same server as the originating page, so an embedded image or script from a remote server doesn't count.--> <stat> <group label="extras">css js swf:fla</group> <group label="image">gif jpg:jpeg:jpe png bmp:pcx ico tiff:tif wmf img pbm:xbm:xpm</group> </stat> <!-- Files with these extensions should be silently ignored --> <ignore> <group label="ignore">NONE</group> </ignore>

</extensions> <!-- To avoid indexing the session-id embedded in the URL, all strings of the form '[alphanum]+sessionid=[alphanum]+' will be removed from the URL -->

Pgina 50

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

<sessionids>sessionid SESSID session sess_id session_id session-id RefererURL MSCSID CartID CFID CFTOKEN POSTNUKESID eZSESSIDpages SESSIDGE</sessionids> <!-- Patterns to reject, URLs containing these patterns won't be added to the crawler's queue. The idea is to add common patterns of pages that carry no useful information --> <reject-patterns>/archive =view_day =view_month =view_year =Calendar =viewprofile appointmentedit mailtofriend articleprint action=reporttm =Profile =Post =Login Members =Online =Reg =Stats product_reviews_write PostCalendar =friend SPChat userinfo login logout FriendSend Your ccount Feedback Guestbook =print =Cart webalizer stats/usage showcounter</reject-patterns> <!-- Automatically add base URLs to sites, i.e.: if we see for the first time a link of the form www.example.com/a.html, it will also add the home page www.example.com Default: 1 --> <add-root>1</add-root> <!-- Check for robots.txt files Default: 1 (dont' change this: it is important to respect the robot exclusion protocol) --> <add-robots-txt>1</add-robots-txt> <!-- Check for robots.rdf files, this was an experimental feature. Default: 0--> <add-robots-rdf>0</add-robots-rdf> </seeder> <!-- Parameters for the manager program. The manager program generates batches of documents to be downloaded by the harvester, based on a function of the metadata. --> <manager> <!-- This is the maximum depth at which a document will be harvested. It is different for dynamic and static pages, because the number of dynamic pages at a certain depth tends to grow exponentially --> <maxdepth> <!-- Pages identified as dynamic, either by having a question mark or by using a filename extension known as dynamic. Default: 5 levels (level 1 is the home page)--> <dynamic>3</dynamic> <!-- Other pages Default: 15--> <static>15</static> </maxdepth>

<batch> <!-- Maximum number of documents assigned per batch. Each time the manager runs, it will generate 'count' (see below) batches of this amount of documents. Currently the batch should fit in main memory. For a 1GB machine the maximum batch size is about 200K-300K pages. Check the memory usage of the harvester and the manager and if they are OK, keep increasing this until you're using about 80% of the memory. --> <size>100K</size> <!-- Maximum number of documents from the same site in each batch. If it is set too high, the harvesters

Pgina 51

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

will get stuck in a few websites. This is closely related to the number of seconds between accesses, i.e.: if you are going to download 500 documents from a server, each 15 seconds, you have a minimum duration of 2 hours for each batch. Default: 500--> <samesite>500</samesite> <!-- Number of batches to assign in each round; this means, how many times the 'harvester' program has to be run after each 'manager' execution; It is useful by the end of a large crawl to run several (say, 2, 5, or maybe even 10) harvester rounds after each manager, as this saves time. Note that this is not equivalent to increase the batch size, as the latter requires more memory to hold the batch in memory. Note also that it is likely that at the begining the manager will have enough sites for 1 batch only. Default: 1 --> <count>1</count> </batch> <!-- Parameters for handling errors in sites --> <max-errors> <!-- Maximum number of CONSECUTIVE errors of the same site, in DIFFERENT batches, over this the websites are not re-scheduled. Default: 5 --> <different-batch>5</different-batch> <!-- Maximum number of CONSECUTIVE errors of the same site, allowed during the SAME harvest, over this, the rest of the pages are skipped, and the site is re-scheduled for the next harvest batch. Default: 1 (meaning two consecutive errors will move the rest of the pages to the new batch)--> <same-batch>1</same-batch> </max-errors> <!-- The score of a page is the value of this page for the collection. The manager tries to maximize the value of the collection, considering the following function: current_score = sum(scores * weights) * (outdated_probability ^ outdatedexpon) When the document is downloaded, the probability that the document is outdated is zero, so: future_score = current_score [with outdatedprob=0] What the manager does is select the set of pages with maximum (future_score - current_score), to maximize the "earnings" in each batch. --> <score> <!-- Pagerank --> <pagerank> <!-- Importance for the scheduling --> <weight>0</weight> <!-- This is the decay parameter for the iteration, typical

Pgina 52

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

values are 0.9 and 0.85 --> <dampening>0.85</dampening> <!-- Maximum average relative error. In collections in the order of 2-4 million pages: 0.01 - about 20 iterations 0.005 - about 30 iterations 0.001 - about 70 iterations --> <max-error>0.01</max-error> </pagerank> <!-- Weighted link score --> <wlscore> <!-- Importance for the scheduling --> <weight>0</weight> </wlscore> <!-- HITS algorithm --> <hits> <!-- Importance of hub score for scheduling --> <hub> <weight>0</weight> </hub> <!-- Importance of authority score for scheduling --> <authority> <weight>0</weight> </authority> <!-- Maximum average relative error. In collections in the order of 2-4 million pages: 0.005 - about 4 iterations 0.001 - about 10-20 iterations 0.0005 - about 30-50 iterations --> <max-error>0.001</max-error> </hits> <!-- The siterank is like pagerank, but related to the graph of sites, in which multiple links between pages on different sites are collapsed to a single link with a given weight --> <siterank> <!-- Importance of siterank --> <weight>0</weight> <!-- Maximum average relative error, as the graph of websites is much smaller than the graph of documens, this converges much faster and can be much accurate --> <max-error>0.000001</max-error> </siterank> <!-- Importance of a page being static, static pages are given priority over dynamic pages. If static=true, this amount of score is added --> <static> <weight>0</weight> </static> <!-- Importance of depth of a page. If a page is at maximum depth, 0 points are added to the score

Pgina 53

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

If a page is at depth = 1, this amount of points is added Other depths are assigned scores lineary --> <depth> <weight>95</weight> </depth> <!-- Importance of the size of the site in which the page resides, only considering remaining pages --> <queue-size> <weight>0</weight> </queue-size> <!-- A small, random number of points is added to the pages, to avoid selecting always the same pages --> <random> <weight>5</weight> </random> <!-- This exponent controls how important is the age of a page for the crawler. Normally it should be set to 1 --> <age> <exponent>1</exponent> </age> <!-- To ensure that at least the front page of each website is downloaded, the first page of each site can have its score set to the highest value possible. 0=off, 1=on. --> <boostfrontpage>1</boostfrontpage> </score> <!-- Minimum age to visit a page, in seconds 1 day = 24 hr * 60 min * 60 seg = 86400 seg 1 week = 7 * 1 day = 604800 1 month ~ 30 * 1 day = 2592000 --> <minperiod> <!-- If the page had an error, i.e.: time out, or DNS error, or connection failed to the server --> <unsuccessful>15m</unsuccessful> <!-- If the page could be retrieved, but it was not ok, i.e.: 404 errors, server errors, etc --> <successful-but-not-ok>4w</successful-but-not-ok> <!-- If the page was OK or redirect (code 20x) --> <successful-and-ok>4w</successful-and-ok> <!-- Query robots.txt file --> <robots-txt> <when-valid>1w</when-valid> <when-not-valid>4w</when-not-valid> </robots-txt> <!-- Query robots.rdf file --> <robots-rdf> <when-valid>12h</when-valid> <when-not-valid>4w</when-not-valid> </robots-rdf> </minperiod> </manager> <!-- Parameter for the harvester program. The harvester downloads pages from the web, according to a batch that is given by the manager --> <harvester> <!-- These are the contents of /etc/resolv.conf, and

Pgina 54

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

are used by the asynchronous dns interface; use several 'nameserver' lines, and no 'search' line. If you are crawling a top level domain, say, .ZZ, you should check first with the nameservers of that domain, do "dig gr @F.ROOT-SERVERS.NET" to get this list, and TEST this first, make sure there are no dead DNSs in your list--> <!--<resolvconf>nameserver 127.0.0.1</resolvconf> --> <resolvconf>nameserver 208.67.222.222</resolvconf> <!-- Blocked IP addresses --> <blocked-ip>127.0.0.1 192.168.0.1</blocked-ip> <!-- User agent. If here, string 'zzz' is given, then the used user-agent will be WIRE/version (sysname; machine; zzz) example: "WIRE/1.0 (Linux; i686; zzz )". I recommend to put an e-mail address or a Web page for your project here --> <user-agent-comment>Bot,Robot,Spider,Crawler</user-agent-comment> <!-- Number of simultaneous download --> <nthreads> <!-- Starting threads. If the linux threads implementation is used, you cannot go past 400 threads; start with a safe value of 200 and then increment gradually to see how much your machine can take. The usual setting is about 1000. The default 300 is just a failsafe limit. It requires a tiny bit of tunning of the system parameters (via the files in /proc/sys/fs in Linux, or by setting user limits to descriptors) to use this at full capacity, i.e.: more than 700 threads --> <start>300</start> <!-- Minimum threads, soft limit. If the harvester has less than this ammount of threads running, it should stop, unless less than softmintime have passed. This scheme of soft and hard minimum is to avoid having to change this setting by the end of a crawl --> <softmin>10</softmin> <softmintime>1h</softmintime> <!-- Minimum threads, hard limit. If the harvester has less than this amount of threads running, it MUST stop now; the harvester will not start successfully if less than this amount of sites is given. Note that if, e.g.: hardmin is 3, then you cannot crawl less than 3 sites --> <!-<hardmin>3</hardmin>--> <hardmin>0</hardmin> </nthreads> <!-- Several timeouts for downloading pages, in seconds --> <timeout> <!-- Timeout for the connect() call --> <connection>30</connection> <!-- Timeout for read() and write() --> <readwrite>30</readwrite> <!-- Poll period, in milliseconds, it must be greater

Pgina 55

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

than zero --> <poll>2000</poll> <!-- This is the minimum speed for downloading data. If less than x bytes/seconds are downloaded, the download timeouts. NOT IMPLEMENTED YET in the non-threads implementation. --> <bytes-per-second>400</bytes-per-second> </timeout> <!-- Maximum filesize in bytes, no more than this amount of bytes is downloaded. A "Range:" header is added to the request, but if the server doesn't honor the limit, the connection is dropped by the crawler. 400Kb is a rather safe default, 100Kb is ok if you want to save disk space, BUT there will be some false positives in the duplicate detection --> <maxfilesize>100K</maxfilesize> <!-- Maximum number of simultaneous DNS queries. NOT IMPLEMENTED YET. --> <dnsmax>15</dnsmax> <!-- Timeout for the DNS resolver, in seconds. Don't set this to low to avoid too many DNS errors --> <dnstimeout>30</dnstimeout> <!-- The crawler tries to be "polite" with servers. It will wait between accesses to the same site, and a site will always be assigned to only one harvester at a time --> <wait> <!-- Seconds to wait between download of pages --> <normal>15</normal> <!-- For "big" websites, this time can be reduced. This is the number of pages that a website has to be considered "big" --> <countbig>100</countbig> <!-- Seconds to wait between downloads in a big website --> <big>5</big> </wait> <!-- Mime types to accept, separated by COMMAS. These mime-types must be accepted by the parser in the gatherer program --> <acceptmime>text/html, text/plain</acceptmime> <!-- Verbose logging: 0=no log, 1=normal, 2=verbose --> <loglevel>0</loglevel> <!-- DNS addresses are cached on disk, regardless of their expiration date --> <dnsexpire>4w</dnsexpire> </harvester> <!-- Parameters for the gatherer program. The gatherer program parses the pages downloaded by the harvester, adding them to the collection, and obtains urls for the seeder --> <gatherer> <!-- By default, all tags are discarded, and all text is kept, these parameters are the exceptions to this rule -->

Pgina 56

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

<discard> <!-- The textual content of these tags will be discarded, (the tags themselves are always discarded) --> <content>style script object embed</content> </discard> <keep> <!-- These tags will be preserved (its text is always preserved); META/A/LINK/HREF/HTTP-EQUIV/CONTENT/FRAME/AREA/ALT must be kept because they are used to search for links; If you want to save more disk space, use this: 'a meta title frame link img area embed' --> <tag>p table tr td th i em strong b a h1 h2 h3 h4 h5 h6 blockquote meta title head body frame link img area embed</tag> <attribute>http-equiv href src alt description keywords name content rel title</attribute> </keep> <!-- These parameters tell the gatherer where to look for links to other files --> <link> <!-- This is a list of tag/attribute/anchor-text[+] tag is the name of the tag that contains a link attribute is the attribute containing the url of the link anchor-text is the attribute containing the description of the link a plus sign at the ends means that the content of the tag is also considered anchor text --> <attribute>frame/src/name a/href/title+ area/href/alt img/src/alt link/href/rel embed/src/name</attribute> </link> <!-- The gatherer can detect dynamic documents under static pages. If a document changes allways, after x visits, then it will be considered dynamic --> <changetodynamic>3</changetodynamic> <!-- Remove the source harvester files to save space=1, Keep the files=0, useful with verbose logging for debugging --> <removesource>1</removesource>

<!-- Maximum size, in bytes, of the data that is kept after parsing the document; don't set this too low (e.g.: 1000), because the data that is saved is used to check for duplicates, and many pages start with the same characters. A good minimum could be 30K; usually HTML files are 40k-50k and are reduced to 15k-25k by the parser --> <maxstoredsize>100K</maxstoredsize> <!-- If true, then store only a hash function of the pages, this is useful to preserve bandwidth and still prevent duplicates, if you are not interested in the actual page contents; Note that you still must set maxstoredsize to a reasonable value (say, at least 30K) because the hash function is calculated after parsing; default: false (0) --> <save-hash-only>0</save-hash-only> <!-- If true, then also keep a local sensitivy hashing sketch for each page. The contents of the pages are not changed, the sketches are stored in a separate file. Later you can read the sketches using wire-info-extract default: false (0) --> <use-sketches>0</use-sketches> <!-- If true, then convert all documents to UTF-8; Note that doc.charset will continue to be the original charset, so during the analysis you still can get statistics on the

Pgina 57

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

charsets in the collection; if you get some error like 'Invalid or incomplete multibyte or wide character', set this to zero. default: true (1) --> <convert-to-utf8>1</convert-to-utf8> <!-- Default charset for pages in which the charset is not specified and cannot be detected. The default config is "ISO-8859-1" as it is the most used in western europe and latin america, and it does not hurt pages written in english; if your country uses typically a different charset, change this setting. --> <defaultcharset>ISO-8859-1</defaultcharset> </gatherer> <!-- Indexer parameters --> <index> <!-- Size of the description (text extract) for the indexing process, in bytes --> <descriptionsize>200</descriptionsize> <!-- File with stopwords. These stopwords are discarded to preserve space in the index --> <stopwordsfile>/usr/local/share/WIRE/lang/english</stopwordsfile> <!-- Minimum and maximum length of words --> <minwordlength>5</minwordlength> <maxwordlength>20</maxwordlength> </index> <!-- Analysis --> <analysis> <!-- This is the name of the collection, and will be used in report titles and output filenames. It must not have spaces. Useful titles are, e.g.: CL2004FEB, GR2005MAR, etc. --> <code>XXNNNNXXX</code> <!-- Language analysis is done using stopwords. Notice that two stopword files CANNOT have interferences (they must be cleaned first to remove all common stopwords) --> <lang> <basepath>/usr/local/share/WIRE/lang</basepath> <!-- The language files should be listed starting with the one that is more common in the collection. --> <stopwords>english spanish catala danish dutch french german greek italian norwegian portugues swedish turkish</stopwords> <!-- Take a sample of 1 every X documents to check for its language. --> <sample-every>500</sample-every> <!-- Take a sample of K document texts on each language, to see how good/bad are the language files --> <save-text>30</save-text> <!-- Minimum number of words in the document, less than this implies undefined language --> <min-words>50</min-words> <!-- Minimum number of stopwords of a language to have the possibility of be considered in that language --> <min-stopwords>10</min-stopwords>

Pgina 58

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

<!-- Difference in the number of stopwords between the first and the second place, to be considered as this language --> <min-difference>5</min-difference> </lang> <maxyears> <tables>10</tables> <graphs>5</graphs> </maxyears> <!-- Below, fitting parameters fitmin and fitmax are two numbers indicating the X range in which gnuplot is expected to FIT the data. Set fitmin=fitmax=0 to avoid fitting data. Range, on the contrary, is the X and Y range on which to PLOT data, and is given in the gnuplot format '[...] [...]', in which the first pair of brackets enclose the X range and the second pair of brackets encloses the Y range. The default '[] []' includes all points in the X and Y ranges. You might want to change this to improve graphics, after changing, just re-run the corresponding wire-report-* to re-generate the graph -->

<!-- Document report --> <doc> <!-- Fraction of sampled document for the scatter graphs --> <sample-every>300</sample-every> <!-- Graph with a histogram of page age in days, short period --> <age_days_small> <range>[1:120]</range> </age_days_small> <!-- Graph with a histogram of page age in days, long period --> <age_days_large> <range>[1:720]</range> </age_days_large> <!-- Graph with the histogram of parsed content length --> <content_length_kb> <fitmin>20</fitmin> <fitmax>100</fitmax> <range>[] []</range> </content_length_kb> <!-- Graph with the histogram of unparsed content length --> <raw_content_length_kb> <fitmin>30</fitmin> <fitmax>200</fitmax> <range>[] []</range> </raw_content_length_kb> <!-- Graph with the histogram of in-degree of documents -->

Pgina 59

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

<in_degree> <fitmin>10</fitmin> <fitmax>1000</fitmax> <range>[] []</range> </in_degree> <!-- Graph with the histogram of out-degree of documents --> <out_degree> <fitmin>60</fitmin> <fitmax>120</fitmax> <range>[] []</range> </out_degree> <!-- Graph with the histogram of pagerank --> <pagerank> <fitmin>5e-6</fitmin> <fitmax>5e-5</fitmax> <range>[] []</range> </pagerank> <!-- Graph with the histogram of weighted link rank --> <wlrank> <fitmin>5e-6</fitmin> <fitmax>5e-5</fitmax> <range>[] []</range> </wlrank> <!-- Graph with the histogram of hub score --> <hubrank> <fitmin>1e-6</fitmin> <fitmax>1e-4</fitmax> <range>[] []</range> </hubrank> <!-- Graph with the histogram of authority score --> <authrank> <fitmin>1e-6</fitmin> <fitmax>1e-4</fitmax> <range>[] []</range> </authrank> </doc> <!-- Sites report --> <site> <!-- Number of sites to show in the list of top sites by number of pages, or size, etc. --> <site_top> <cut>80</cut> </site_top> <!-- Fraction of sites to include in the scatter plots. Only 1 out of X will be included. --> <scatter-plot-every>10</scatter-plot-every> <!-- Graph with the histogram of the sum of raw content length of the pages in the website --> <site_raw_content_length_mb> <fitmin>1</fitmin>

Pgina 60

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

<fitmax>100</fitmax> <range>[ ] []</range> </site_raw_content_length_mb> <!-- Graph with the histogram of the number of documents per website --> <site_count_doc> <fitmin>50</fitmin> <fitmax>500</fitmax> <range>[ ] []</range> </site_count_doc> <!-- Graph with the histogram of the number of different sites linking to each site --> <site_in_degree> <fitmin>10</fitmin> <fitmax>100</fitmax> <range>[ ] []</range> </site_in_degree> <!-- Graph with the histogram of the number of different sites linked by each site --> <site_out_degree> <fitmin>10</fitmin> <fitmax>100</fitmax> <range>[ ] []</range> </site_out_degree> <!-- Graph with the histogram of the number of internal links in each site --> <site_internal_links> <fitmin>100</fitmin> <fitmax>1000</fitmax> <range>[ ] []</range> </site_internal_links> <!-- Graph with the histogram of the number of internal links divided by the number of documents in each site, i.e.: the average internal links per document in each site --> <site_internal_links_by_ndocs> <fitmin>8</fitmin> <fitmax>30</fitmax> <range>[ ] []</range> </site_internal_links_by_ndocs> <!-- Graph with the histogram of the sum of the Pagerank over all documents in the site --> <sum_pagerank> <fitmin>1e-6</fitmin> <fitmax>1e-4</fitmax> <range>[ ] [ ]</range> </sum_pagerank> <!-- Graph with the histogram of the sum of the hub score over all documents in the site --> <sum_hubrank> <fitmin>0</fitmin> <fitmax>0</fitmax> <range>[ ] [ ]</range> </sum_hubrank> <!-- Graph with the histogram of the sum of the authority score

Pgina 61

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

over all documents in the site --> <sum uthrank> <fitmin>0</fitmin> <fitmax>0</fitmax> <range>[ ] [ ]</range> </sum uthrank> <!-- Graph with the histogram of the siterank of the site --> <siterank> <fitmin>1e-6</fitmin> <fitmax>1e-4</fitmax> <range>[ ] [ ]</range> </siterank>

</site> <!-- Sitelink report --> <sitelink> <!-- Graph with the histograph of the number of sites per strongly connected component --> <scc_sizes> <fitmin>2</fitmin> <fitmax>10</fitmax> <range>[ ] []</range> </scc_sizes> </sitelink> <!-- Extensions report --> <extension> <tld> <!-- File containing an estimation on the size of top level domains. The format is one row per domain. On each row, the name of the tld, a comma, and the estimation of the size --> <sizes-file>/usr/local/share/WIRE/tld/sizes.csv</sizes-file> <!-- Minimum fraction of links to a country to be considered in the list of linked countries by over-representation, or under-representation. This is to avoid showing domains that are too small. --> <min-links-difference>1e-6</min-links-difference> </tld> <extensions> <cut>120</cut> </extensions> <!-- Maximum number of top level domains to show in the reports. Only the top N will be shown. --> <top_level_domains> <cut>170</cut> </top_level_domains> </extension> </analysis> </config>

Pgina 62

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Como puede notarse, el archivo de configuracin es muy extenso, pero cabe mensionar que en este se encuentran todos los parmetros especificados para el correcto funcionamiento del rastreador web.

Una vez que tenemos instalado el rastreador, se proceder a realizar el rastreo de web de prueba para este trabajo. Paso 1: Elegir en que directorio se va almacenar la coleccin, para este ejemplo, se ha elegido el directorio /opt/ en el cual se creara un nuevo directorio, llamado wiredata. % mkdir /opt/wiredata Paso 2: Verificar la variable de entorno WIRE_CONF, debemos asegurarnos de que apunte al archivo de configuracin. Paso 3: Editar el archivo de configuracin (presentado anteriormente), con los parmetros que se necesitan para el rastreo. Paso 4: Con el siguiente comando se limpia el directorio correspondiente y se prepara para la nueva coleccin de documentos. %wire-bot-reset Paso 5: Crear un archivo con las URLs semilla. Deber ser creado en el mismo directorio donde se encuentra el archivo de configuracin y este archivo se llamara para este caso start rls.txt.

Pgina 63

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Figura 14. Paginas semilla

Paso 6: Ejecutar el siguiente comando para que se lleven a cabo los ciclos de ejecucin de cada uno de los programas que componen el rastreador. Para el caso de esta prueba el ciclo se repetir 10 veces, con un archivo de 10 URLs iniciales. %wire-bot-run 10 Al terminar los ciclos, el rastreador muestra un mensaje en el cual avisa que ya ha terminado el rastreo. A continuacin las figuras 15, 16, 17, 18, 19 y 20 muestran de la ejecucin de los ciclos de WIRE.

Figura 15

Pgina 64

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Figura 16

Figura 17

Figura 18

Pgina 65

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Figura 19

Figura 20

5. ANLISIS DE RESULTADOS Pgina 66

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

La presente seccin, se muestran los resultados obtenidos de cada uno de los rastreadores web que pudieron ser lanzados a la web, para hacer pruebas de funcionamiento de ellos. Los resultados presentados corresponden a el Rastreador WIRE y al Rastreador Nutch. Resultados de WIRE En la figura de a continuacin, observamos una tabla muestra el total de urls descargadas por el rastreador, debemos observar que al generar los reportes desde la herramienta de WIRE, no solo nos dice el total de paginas descargadas, si no que nos da un numero de paginas que fueron descargadas mas de una vez, adems de indicar si las paginas son de contenido dinamico o estatico.

Figura 21. Resultados WIRE

Para complementar lo anterior WIRE en sus estadisticas presenta una serie de tablas que nos ayudan a conocer un poco mas de que ha sido descargado, a continuacion se presentan tablas de lo mas relevante de los reportes. La figura muestra un conjunto de dominios a los cuales pertenecer las paginas descargadas, el principal dominio el el MX, y es asi, ya que el rastreo se realizo en paginas de la web mexicana, pero cabe mencionar que segn el rastreador, en la paginas descargadas tambien existen de otros dominio (no MX), sin embargo debemos poner atencion en qe los numeros no pueden ser cien por ciento confiables, ya que como lo vimos anteriormente, existen muchas paginas duplicadas.

Pgina 67

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

Figura 22. Dominios encontrados por WIRE

Otra de las tablas generadas por la herramienta de estadsticas de WIRE, presenta los distintos lenguajes en los que est escrito el contenido de los documentos de las paginas web descargadas, como podemos observar la mayora de los documentos estn en idioma espaol, debido a que el rastreo fue en el contexto de la web mexicana.

Figura 23. Idiomas encontrados por WIRE

Resultados de Nutch Pgina 68

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

El proceso de obtencin de resultados del rastreador Nutch, es un poco mas tedioso, debido a que los resultados son guardados en un formato nico de Nutch, el cual puede ser convertido a diferentes formatos, en este caso se opt por convertir los datos a un archivo .csv, para de esta forma poder importar la informacin a una base de datos en mysql. La figura muestra la ventana de resultados presentada por el rastreador Nutch, al terminar su proceso de rastreo, como podemos observar, el numero de paginas descargadas disminuyo en gran manera en comparacin con el rastreador WIRE, esto debido a que el rastreador Nutch, es un proyecto que tiene la capacidad de detectar cuando las paginas ya han sido descargadas.

La figura 24. Conversin de datos de Nutch a .csv

Figura 25. formato .csv

Datos en

Una vez que los datos fueron transformados, se procedi a importarlos a una base de datos que se muestra en las imgenes a continuacin.

Pgina 69

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

(26)

(27)

(28) Figuras 26, 27 y 28. Base de datos con informacin de Nutch

Como se puede observar el rastreador Nutch, nicamente descargo 839 paginas web, con lo cual podemos resumir lo siguiente. El rastreador web WIRE, a pesar de tener herramientas para el calculo de estadisiticas, reportes, rastreo y algunas mas en desarrollo, su comportamiento en esta prueba deja mucho que desear, ya que en comparacin con el rastreador web Nutch, descargo un numero bastante significativo de paginas web duplicadas, lo cual a la hora de generar las estadsticas obviamente estas son generadas con errores, debido a que toma en cuenta el total de las paginas descargadas. En cambio el rastreador Nutch, a pesar de que su uso es un poco mas complejo, en cuanto al anlisis de sus resultados, es un proyecto que tiene ya varios aos, y a sido usado en diferentes proyectos, de manera satisfactoiria, lo cual es un punto de confianza mas a este rastreador, ya que a pesar de no contar con las herramientas para la generacin de Pgina 70

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

estadsticas, los resultados que nos muestra son mas congruentes, y adems de contar con un API, para realizar hasta buscador completo y que puede ser usado como un rastreador web enfocado, cosa que WIRE podra hacer tambin, pero los desarrolladores del proyecto WIRE, se encuentran trabajando en esta parte, por lo cual aun no esta disponible una configuracin que permita un rastreo enfocado. A partir de los resultados mostrados por ambos rastreadores, por la cantidad de informacin encontrada de cada uno de ellos, y adems de el tiempo que tienen en desarrollo, se a elegido el Rastreador Web Nutch, para ser integrado en un proyecto posterior al presente.

6. CONCLUSIONES

Pgina 71

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

La evaluacin a nivel experimental permiti obtener los parmetros crticos de diseo y evaluacin de los rastreadores web, en un entorno de la web mexicana. Durante el desarrollo del experimento de evaluacin, la variable de mayor influencia para la seleccin del rastreador web ms optimo fue el duplicado de paginas descargada, ya que tener el control de que lo que se ha descargado no se ha duplicado, es un criterio fundamental para funcionamiento deseable de un rastreador web, aun mas en el caso de los rastreadores dirigidos por temas. Adems este punto de duplicacin de descargas, tendra un gran impacto en el proyecto posterior, ya que al duplicar informacin, se estara utilizando espacio de almacenamiento de manera inadecuada. Por lo cual contrariamente a lo pensado al inicio del presente proyecto el rastreador seleccionado es el proyecto Nutch de apache, ya que a pesar de carecer de caractersticas sobresalientes en WIRE, el rastreador Nutch presenta un rastreo de la web ms efectivo.

BIBLIOGRAFA Pgina 72

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

[1] PENG Tao, HE Fengling y ZUOWanli. A new framework for focusedWeb crawling. Wuhan University ". co-publicado con Springer . ISSN 1007-1202 (Print) 1993-4998 (Online). Volumen 11, Nmero 5. Pginas 1394-1397. Ao 2008. [2] Filippo Menczer, Gautam Pant, Padmini Srinivasan y Miguel E. Ruiz. Evaluating topic-driven web crawlers". New Orleans, Louisiana, United States. P ginas: 241 { 249. ISBN:1-58113-331-6. Ao 2001. [3] Mohsen Jamali, Hassan Sayyadi, Babak Bagheri HAriri and Hassan Abolhassani. A Method for Focused Crawling Using Combination of Link Structure and Content Similarity". Proccedings of the 2006 IEEE/WIC/ACM International Conference on Web Intelligence. Pginas 753-756. ISBN:0-7695-2747-7. Ao 2006. [4] P. Srinivasan, F. Menczer y G. Pant. A General Evaluation Framework for Topical Crawlers". Springer Netherlands. ISSN 1386-4564 (Print) 1573-7659 (Online). Volumen 8, n mero 3. P ginas. 417-447. Ao 2005. [5] Gautam Pant y Padamini Srinivasan. Learning to Crawl: Comparing Classification Schemes". ACM Transactions on Information Systems . Volumen 23, Captulo 4. P ginas: 430-462. ISSN:1046-8188 Ao 2005. [6] Blaz novak. A Survey of focused web crawling algorithms". PASCAL EPrints (United Kingdom). Department of Knowledge Technologies Josef Stefan Institute Jamova 39, 1000 Ljubljana, Slovenia. Ao 2004. [7] Dirk Ahlers y Sussane Boll. Urban Web Crawling". P ginas: 25-32. ISBN:9781-60558-160-6. Ao 2008. [8] Gautam Pant, Padmini Srinicasan y Filippo Menczer. Crawling the Web". Web Dynamics: Adapting to Change in Content, Size, Topology and Use. SpringerVerlag. Pginas 153-178. ISBN: 978-3-540-40676-1. Ao 2004. [9] Dheerendranath Mundluru y Xiongwu Xia. Experiences in Crawling Deep Web in the Context of Local Search". Proceeding of the 2nd international workshop on Geographic information retrieval . P ginas 35-42. ISBN:978-1-60558-253-5 Ao 2008. [10] Brian Prinkerton. Finding What People Want: Experiences with the WebCrawler". In Proc. 1st International World Wide Web Conference. Ao 1994. [11] Sergey Brin y Lawrence Page. The Anatomy of a Large-Scale Hypertextual WebSearch Engine". Computer Networks and ISDN Systems. P ginas: 107 - 117. Ao 1998. [12] De Bra, Post R D J. Information Retrieval in the World-Wide Web: Making Client-Based Searching Feasible". Computer Networks and ISDN Systems. Pginas 183-1952. ISSN:0169-7552. Ao 1995. 24. Filippo Menczer, Gautam Pant y Padmini.

Pgina 73

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

[13] Filippo Menczer, Gautam Pant y Padmini Srinivasan. Topical web crawlers: Evaluating adaptive algorithms". ACM Transactions on Internet Technology . Pginas 378-419. ISSN:1533-5399. Ao 2004. [14] M. Hersovici, M. Jacovi, Y. Maarek, D. Pelleg, M. Shtalhaim and S. Ur. The Shark-Search Algorithm - An Application: TailoredWeb Site Mapping". Proceedings of the Seventh International World Wide Web Conference, Brisbane, Australia . Pginas 317-326. ISSN:0169-7552. Ao 1998. [15] Eduard C. Dragut, Tomas Kabisch y Clement Yu. A Hierarchical Approach to Model Web Query Interfaces for Web Source Integration". Proceedings of the VLDB Endowment . P ginas: 325-336 ISSN:2150-8097. Ao 2009. [16] Jayant Madhavan, Davidr Ko, Lucja Kot, Vignesh Ganapathy, Alex Rasmussen, Alon Halevy. Google Deep-Web Crawl". Very Large Data Base Endowment Inc (VLDB) . Volumen 1. P ginas 1241-1252. ISSN: 2150-8097. Ao 2008. [17] Berners-Lee, T., Hendler, J., Lassila, O. The semantic web". Scientific American. Ao 2001. [18] Alisdair Owens. Semantic Storage: Overview and Assessment". Electronics and Computer Science, U of Southampton. Ao 2005. [19] Eyal Oren, Benjamin Heitmann y Stefan Decker. ActiveRDF: Embedding Semantic Web data into object-oriented languages". Web Semantics: Science, Services and Agents on the World Wide Web . Paginas 191-202. ISSN:1570-8268. Ao 2008.

GLOSARIO

Pgina 74

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

API Del ingls Application Programming Interface. Interfaz de Programacin de Aplicaciones. Una serie de rutinas usadas por una aplicacin para gestionar generalmente servicios de bajo nivel, realizados por el sistema operativo de la computadora. Base de datos Conjunto de datos que pertenecen al mismo contexto almacenados sistemticamente. En una base de datos, la informacin se organiza en campos y registros. Los datos pueden aparecer en forma de texto, nmeros, grficos, sonido o vdeo. Buscador Los buscadores (o motor de bsqueda) son aquellos que estn diseados para facilitar encontrar otros sitios o pginas Web. CSV En ingls es Comma Separated Values. Valores Separados por Comas. Es una forma muy popular de estructurar bases de datos, donde se utiliza comas (,) en archivos de texto, para denotar cuando acaba una columna y empieza la otra. HTTP En ingls Hypertext Transfer Protocol. Protocolo de Transferencia de Hipertexto. HTTP es un protocolo con la ligereza y velocidad necesaria para distribuir y manejar sistemas de informacin hipermedia. HTTP ha sido usado por los servidores World Wide Web desde su inicio en 1993. MySQL MySQL es uno de los Sistemas Gestores de Bases de Datos ms populares. Su ingeniosa arquitectura lo hace extremadamente rpido y fcil de personalizar. Pgina Web Su contenido puede ir desde un texto corto a un voluminoso conjunto de textos, grficos estticos o en movimiento, sonido, etc, en lenguaje HTML. PDF Portable Document Format (Formato de Documento Portable), formato grfico creado por la empresa Adobe el cual reproduce cualquier tipo de documento en forma digital idntica, permitiendo as la distribucin electrnica de los mismos a Pgina 75

Tesina
Rastreador Web Enfocado al Dominio de las TICs en la Web Mexicana

travs de la red en forma de archivos PDF. El programa gratuito Acrobat Reader, de Adobe, permite la visualizacin de los PDFs. Rastreador Web Programas que viajan en el Web con el fin de indexar pginas y localizar errores con el fin de alimentar a los buscadores. Estos programas, que comnmente se les llaman BOTS, son enviados y mantenidos por los motores de bsqueda. XML eXtensible Markup Language. Lenguaje Extensible de Marcado. Lenguaje desarrollado por el W3 Consortium para permitir la descripcin de informacin contenida en el WWW a travs de estndares y formatos comunes, de manera que tanto los usuarios de Internet como programas especficos (agentes) puedan buscar, comparar y compartir informacin en la red.

NDICE DE FIGURAs

Pgina 76

Vous aimerez peut-être aussi