![]() |
![]() |
<//--tabla3-->
<//!--tabla2-->
<//!--fin tabla2--> |
Creación
de un buscador Web (I) Los buscadores Web permiten encontrar cualquier archivo o recurso que se encuentre en la red Internet y más concretamente en la Web. ¿Pero cómo se crea un buscador? A lo largo de esta nueva serie de artículos analizaremos todo el proceso de creación. INTRODUCCIÓN Desde los primeros tiempos de andadura la evolución de Internet estuvo acompañada de un problema en cada paso que se daba. Cada vez que se añadía un nuevo servidor con información se hacía más complicado localizar un determinado fichero o recurso. Hay que tener presente que la clave del éxito de Internet ha sido y sigue siendo la posibilidad de compartición de datos y la existencia de información y recursos distribuidos. Por tanto, aunque la comunidad internauta se beneficiaba de la inclusión de nuevos servidores, el acceso a un volumen de datos que iba en constante aumento, también crecía en dificultad de la misma manera. Esta problemática llevó a idear mecanismos de búsqueda dentro de la maraña de ficheros en que se estaba convirtiendo Internet. Así se crearon los servicios Archie, Gopher o WAIS, que no son sino los antepasados de los actuales buscadores Web. Archie era ("era", en pasado, no porque ya no exista, sino porque su funcionalidad ha sido sobrepasada con nuevas herramientas) un sistema de localización de ficheros a través de bases de datos que contenían la información almacenada en los servidores de FTP anónimo. Para utilizarlo era necesario un cliente que permitía conectarnos a los servidores Archie donde podíamos localizar un determinado archivo. En dicho cliente se introducía una cadena de búsqueda y en función de la misma se mostraban los servidores de FTP que contenían archivos relacionados con la misma. Si configurábamos un cliente FTP podíamos bajarnos directamente cualquiera de los archivos mostrados. Gopher, a su vez, era (también en pasado, aunque siga existiendo) otro servicio en el que sus servidores organizaban la información en árboles jerárquicos sobre cuyas ramas íbamos descendiendo en función del tema elegido. De esta manera, al conectarnos a un servidor de este tipo, éste mostraba el árbol principal y al seleccionar una rama se conectaba a otro (o al mismo) servidor donde se encontraba el subárbol correspondiente. Cada vez que bajábamos una rama podíamos permanecer en el mismo servidor o pasar, de forma totalmente transparente para nosotros, a otro servidor. Al final se accedía al recurso deseado, que podíamos bajarnos directamente a través de FTP, o mediante una conexión mediante Telnet al servidor que lo contenía. En estos primeros tiempos todavía no existían los servidores Web, ya que aún tardaría bastante en crearse el lenguaje HTML, auténtico impulsor de la Web. Sin embargo, el servicio prestado por Gopher, aunque estaba concebido para ser distribuido, es muy similar a cualquier Índice Jerárquico de hoy día (por ejemplo, Yahoo, ver Figura 1), donde la información se estructura en temas y al ir seleccionando alguno de ellos se muestra una selección de subtemas y así sucesivamente hasta que llegamos (si es el caso) al recurso deseado. Los Robots reciben varios nombres: "Bots", "Spiders", "Web crawlers", "Web wanderers", "Warms", etc. El servicio de Archie era muy similar al de cualquier buscador Web, ya sea un Índice como Yahoo o un Motor de Búsqueda como Lycos (ver Figura 2). Robots Web La diferencia básica entre un Motor de búsqueda y un Índice reside en la forma de conseguir la información para generar la base de datos sobre la que posteriormente el usuario realizará su búsqueda particular. Mientras que un Índice actualiza su información manualmente, a través de las solicitudes que le llegan de páginas que desean registrarse, un Motor de Búsqueda utiliza un Robot para actualizar y ampliar sus datos. Aunque los Índices son muy útiles cuando se tiene muy claro lo que se desea buscar o la información contenida cambia poco o nada, presentan una desventaja derivada de su actualización manual. Esta carencia consiste en que no contienen los últimos recursos que se publican en la Red asociados a un determinado tema. Los Motores de Búsqueda, sin embargo, utilizan unos programas denominados Robots, también conocidos como Spiders (arañas), Web crawlers, Web Wanderers (deambuladores Web) o Warms (gusanos), cuya función básica es la de conectarse a servidores Web y recuperar información sobre las páginas a través de las cuales van navegando. El hecho de utilizar denominaciones como "gusanos" o "arañas" parece dar a entender que se mueven dentro de los servidores como si de virus se tratasen. Nada más lejos de la realidad: lo único que realizan son peticiones de páginas y después de analizar los enlaces y recursos referenciados, lanzan de forma automática nuevas peticiones de ficheros al mismo o a distintos servidores Web. El nombre de Robot o Bot (esta última palabra no es sino una abreviatura), se debe a una obra de Karel Capek's, donde se utiliza el término robota que en checo significa trabajo. Los Robots son programas que recorren e indexan las páginas HTML de forma automática Veamos detenidamente en qué consisten estos "husmeadores". Los Robots Web son programas que recorren páginas de la World Wide Web mediante los enlaces que incluyen cada una de las páginas por las que van pasando. El mecanismo de funcionamiento es el siguiente: se le pasa una dirección URL al Robot, éste se conecta al Web correspondiente, de igual manera a como lo puede realizar un navegador y solicita el recurso correspondiente (en un principio, debería ser una página Web). En la página que devuelve el servidor el Robot analiza unas etiquetas especiales en las que se le informa si puede indexar esa página (es decir, añadir la referencia a esa página en su Base de Datos) y si puede inspeccionar los enlaces que contiene la misma. En este último caso, solicita automáticamente todas las páginas HTML a las que esta página inicial contiene un enlace (y además puede tratar de indexar otros recursos referenciados en ella). El comportamiento es, por tanto, similar al de un navegador, con la diferencia de que realiza la inspección de las páginas de forma automática. Además no tiene por qué almacenar las páginas que va descargando, sino que se puede limitar a analizar y almacenar la parte de las mismas que le interese. Utilidades de los Robots Visto lo anterior, deducimos de forma inmediata que las posibilidades de utilización de un Robot son muchas y variadas, y que de hecho su función asociada a un Motor de Búsqueda Web es sólo una de ellas. Los Robots no sólo permiten crear Motores de Búsqueda, también son el origen de los Offline Browsers Algunas utilidades de los Robots: 1.Creación de Offline Browsers (navegadores sin conexión): es decir programas que se conectan a un determinado URL y se bajan todos los archivos que encuentran dentro del mismo. Los hay que hasta replican en el disco duro la estructura completa del Web, con el nombre del servidor incluido (gracias a los nombres largos de Windows 95/98 o Windows NT) y que además se pueden configurar para bajar imágenes, archivos de sonido, etc. La ventaja de los Offline Browsers es clara: reducen la factura telefónica al bajarse de una vez los archivos y dar la posibilidad de consultarlos sin estar conectado a Internet. 2.Creación de Agentes de Verificación de Enlaces: aquí los Robots cumplen la función de mantener al día los enlaces de un sitio Web e informar de los que han cambiado de sitio o los que ya no hacen referencia a ninguna página. Son muy útiles como herramienta administrativa para nuestro propio servidor Web. 3.Creación de Canales Activos: al igual que los canales de Internet Explorer o de Netscape Communicator, un Robot puede efectuar la labor de mantener al día un canal, de acuerdo a la frecuencia de actualización con que lo programemos. 4.Creación de Buscadores: Esta es la utilidad que en este momento nos ocupa, la de utilizar el Robot como generador de referencias a páginas Web. Hoy día y debido al incremento exponencial de sitios Web, los buscadores se han especializado para encontrar datos concretos. Así tenemos entre otros: buscadores de software para buscar la última utilidad de Internet), de noticias (que crean un "periódico" a tu medida), de "lo más barato" (que seleccionan Webs y comparan precios de productos semejantes), de Acciones (que actualizan y te envían por correo electrónico las últimas cotizaciones de tus acciones bursátiles y las últimas noticias que afectan a las empresas cotizadas en Bolsa), de personas (que permiten encontrar la dirección e-mail de una persona a partir de su nombre y apellidos), etc. Un ejemplo de un Robot Web se puede ver en la Figura 3. En ella se muestra el buscador basado en el Robot WebStorm, que permite realizar búsquedas de igual forma que un buscador basado en Web. Creación de un Buscador La creación de un buscador basado en Web es un proceso que puede estructurarse en varias tareas, de las cuales, en mayor o menor medida, todas tienen importancia si se quiere conseguir un producto de calidad: 1.Creación de un Robot Web, que a partir de una página analice los enlaces e indexe las páginas encontradas. 2.Análisis de los datos que recoge el Robot: de forma que podamos realizar una preselección "inteligente" de las páginas que pueden resultar interesantes con respecto a las demás, en función de unos criterios determinados. 3.Estructuración de los datos en una base de datos, donde las referencias se almacenen con una lógica prefijada. El diseño de la misma será un punto muy importante también, pues debemos prever los posibles campos de búsqueda y las palabras clave que almacenaremos en cada uno de ellos. 4.Diseño de las consultas a la base de datos: de forma que el resultado de una búsqueda esté de acuerdo con lo que el usuario está solicitando (que se comporte de la forma lo más "inteligente" posible). 5.Creación de la aplicación de servidor que recoge la petición del cliente: es decir, la aplicación encargada de analizar la petición, lanzar la consulta a la base de datos y enviar la respuesta al servidor Web, para que éste se la envíe al cliente. 6.Creación de los formularios HTML de búsquedas normal y avanzada, mediante los Exclusión de Robots Debido a que los Robots funcionan de forma automática, se detectó, desde que nacieron los primeros, un problema de sobrecarga que producían en la Red. La razón es que si estaban mal diseñados, generaban sin parar tráfico de páginas Web, sin otro fin que el de indexarlas. Del propio problema se obtuvo la solución: otorgar en los servidores Web la posibilidad de no permitir el acceso a determinados Robots o no permitir la inspección de determinadas rutas de dicho servidor. La creación de un Robot Web es sólo uno de los pasos necesarios para crear un buscador Web La creación de un Robot Web es sólo uno de los pasos necesarios para crear un buscador Web El método empleado para que un servidor Web evite la inspección del mismo por parte de los Robots se estructura en dos ámbitos: por un lado, se facilita al Administrador del Web un mecanismo de exclusión de Robots y por otro, se proporciona al propietario de cada página HTML un mecanismo adicional de control del acceso a la misma por parte de los Robots. El primer mecanismo se denomina "Protocolo de Exclusión de Robots", y permite al Administrador decidir qué partes del Web no deben ser indexadas. El medio para conseguirlo: un archivo de texto denominado ROBOTS.TXT que contiene las instrucciones sobre las páginas visitables y las que no permiten el acceso a los Robots. El segundo mecanismo, que proporciona un nivel adicional de protección para el propietario de cada página, se logra mediante la inserción de unas etiquetas HTML denominadas META Tags (es decir: Etiquetas META) en las que se indica al Robot si debe o no inspeccionar o indexar cada página HTML individual. Es importante recordar que estos métodos de protección frente a los Robots dependen del buen comportamiento de los mismos, ya que resulta trivial para un Robot saltárselos a la torera. El fichero ROBOTS.TXT El "Protocolo de Exclusión de Robots" se basa en la especificación del contenido de un fichero ROBOTS.TXT en el que se presentan las instrucciones de comportamiento oportunas para los Robots en relación con las páginas inspeccionables. La razón de elegir un fichero como método de exclusión de páginas es que con sólo "bajarse" este fichero, el Robot conoce las páginas indexables de un servidor. Dicho fichero debe residir en el directorio raíz del servidor Web (es decir, en el directorio donde se encuentra la página por defecto). Por ejemplo, en el Web de la revista: http://www.towercom.es el archivo ROBOTS.TXT sería accesible a través del siguiente URL: http://www.towercom.es/robots.txt Este fichero está compuesto por una serie de registros (o puede estar vacío) separados por líneas en blanco (con saltos de línea). Cada registro tiene el siguiente formato: DIRECTIVA:" espacio opcional " VALOR "espacio opcional" # Comentario El nombre de la directiva puede ir en mayúsculas o minúsculas indistintamente. Las directivas posibles son User-agent (agente de usuario) y Disallow (no permitir). Cada registro comenzará con una o más líneas con directivas User-agent, y a continuación, una o más líneas con directivas Disallow. El significado concreto de cada una de estas dos directivas es el siguiente: - User-agent (agente de usuario): Define, para el registro en el que se encuentre, el nombre del Robot para el que se dan normas de acceso. Se pueden definir varios agentes en el mismo registro si las normas son las mismas para todos. Si el valor es "*", significa que el registro describe reglas de acceso para el resto de los Robots que no han sido incluidos en otros registros. Por tanto, sólo un registro del fichero ROBOTS.TXT podrá indicar como "*" el User-agent". -Disallow (no permitir): Define la URL que no debe ser inspeccionada por el Robot o Robots indicados en User-agent. La URL puede ser parcial o completa. Por ejemplo: Disallow: /doc No permite el acceso ni a /doc.html, /doc/doc1.htm, /doc/doc2.htm,etc. Disallow: /doc/ No permite el acceso a todos los archivos del directorio /doc pero sí permite el acceso a /doc.htm". Si el valor de la directiva está vacío significa que el Robot indicado en el registro puede inspeccionar todas las URL's. Ejemplos de ficheros ROBOTS.TXT: 1.Si no queremos que ningún Robot inspeccione nuestro sitio Web, el fichero deberá contener lo siguiente: User-agent: * Disallow: / 2.Si queremos impedir que cualquier Robot visite cualquier URL que comience por /doc/confidencial/ y /doc/personal/, deberá contener un registro con las siguientes directivas: User-agent: * #documentos confidenciales de la empresa Disallow: /doc/confidencial/ #documentos personales Disallow: /doc/personal/ 3.Si se quiere conseguir lo mismo que en el ejemplo anterior excepto para un Robot concreto (por ejemplo robot_solop), el fichero será: #todos los Robots tienen restringido el acceso. User-agent: * Disallow: /doc/confidencial/ Disallow: /doc/personal/ #el Robot: "robot_solop" tiene permitido el acceso. User-agent: robot_solop Disallow: Etiqueta META para Robots Aunque no todos los Robots la soportan la etiqueta META proporciona el medio de indicar a los Robots visitantes si la página puede ser indexada o si los enlaces de la página pueden inspeccionarse. Se diferencia del "Protocolo para Exclusión de Robots" en que no es necesario obtener el permiso del Administrador del servidor Web. La etiqueta META para Robots está compuesta de un conjunto de directivas separadas por comas: <META NAME="ROBOTS" CONTENT="ALL | INDEX | FOLLOW | NONE | NOINDEX | NOFOLLOW"> Por defecto, la directiva CONTENT está vacía y significa ALL. El campo ALL agrupa INDEX y FOLLOW. El campo NONE agrupa NOINDEX y NOFOLLOW. El carácter "|" indica que los campos son opcionales. Las directivas pueden ir en mayúsculas o minúsculas indistintamente. La etiqueta META se utiliza por aquellos usuarios normales de un servidor Web que no tienen acceso al fichero ROBOTS.TXT (por ejemplo, cuando colgamos las páginas web en nuestro proveedor de acceso a Internet). Por tanto, concede al dueño de las páginas una oportunidad de impedir a los Robots Web que las inspeccionen (independientemente de lo que diga el fichero ROBOTS.TXT del servidor). Las directivas significan lo siguiente: -INDEX (Indexar): significa que se permite a los Robots incluir la página HTML en el buscador. - FOLLOW (Seguir): se permite a los Robots seguir enlaces de esta página para localizar otras páginas. - ALL (Todo): agrupa las dos anteriores y, por tanto, permitimos al Robot tanto indexar la página como explorarla. - NOINDEX (No indexar): Aunque no deseamos que se indexe esta página, permitimos que el Robot explore sus enlaces. - NOFOLLOW (No seguir): No permitimos explorar los enlaces de la página, pero permitimos que la página sea indexada. - NONE (Nada): significa que el Robot debe ignorar esta página. De esta forma, las posibles combinaciones son las siguientes: <meta name="robots" CONTENT="ALL"> <meta name="robots" CONTENT="INDEX,FOLLOW"> <meta name="robots" CONTENT="NOINDEX,FOLLOW"> <meta name="robots" CONTENT="INDEX,NOFOLLOW"> <meta name="robots" CONTENT="NONE"> <meta name="robots" CONTENT="NOINDEX,NOFOLLOW"> La etiqueta META se puede utilizar conjuntamente con otra etiqueta META, DESCRIPTION (descripción), con la que informamos al Robot del resumen textual que queremos que aparezca en el Buscador cuando éste muestre la página en el resultado de una búsqueda. <META NAME="DESCRIPTION" CONTENT="Explicación del contenido de la página"> ¿Y dónde deberían ir situadas estas etiquetas?. El mejor sitio es sin duda la sección <HEAD> de la página HTML: <HTML> <HEAD> <META NAME="robots" CONTENT="INDEX,FOLLOW"> <META NAME="description" CONTENT="El proceso de creación de un buscador Web se puede estructurar en varios pasos: crear un Robot Web, almacenar en una base de datos la información que el Robot recopila, establecer mecanismos de búsqueda en esa base de datos a través de un formulario HTML y por último, publicarla en un servidor Web."> <TITLE> Cómo crear un buscador Web </TITLE> </HEAD> <BODY> </BODY> </HTML> CONCLUSIÓN Y aquí terminamos este primer artículo sobre cómo crear un buscador Web. Hemos visto las nociones básicas de funcionamiento de un Robot Web, las posibles aplicaciones de los mismos y la implementación particular que deberá tener dentro del proceso de creación de un buscador. Asimismo, hemos estudiado los mecanismos de exclusión de Robots que se han desarrollado para evitar en cada servidor Web, la indexación de determinadas páginas, y que todo Robot Web debería respetar. Durante los próximos artículos iremos implementando nuestro propio Robot para poderlo integrar en el desarrollo conjunto que supone el proceso completo de creación de un Buscador Web.
|
||||||||||
<//!--fin tabla3-->
![]() |
|
| Explorer 4.0, Netscape 4.0. Resolución 800 x
600. ©Tower Communications 1.998. Diseño: GRUPO ALBERTINA DE COMUNICACION. |