- Sobre
los robots del WWW
- ¿Qué es un robot WWW?
- ¿Qué es un agente?
- ¿Qué es un motor de
búsqueda?
- ¿Cuántos tipos de robots
existen?
- Entonces,
¿qué son Robots, Spiders, Web Crawlers, Worms, Ants?
- ¿Son malos los robots para
el web?
- ¿Hay algún libro sobre
robots?
- ¿Dónde puedo encontrar más
información?
- Robots
que indexan
- ¿Cómo decide un robot qué
visitar?
- ¿Cómo decide un robot que
indexa qué indexar?
- ¿Cómo puedo registrar mis
páginas con un robot?
- Para
los administradores de web
- ¿Cómo puedo saber si me ha
visitado un robot?
- Me ha visitado un robot.
¿Y ahora qué?
- ¡Un robot está atravesando
mi Web demasiado rápido!
- ¿Cómo puedo mantener a un
robot fuera de mi servidor?
- Estándar
para la exclusión de robots
- ¿Por qué encuentro accesos
al fichero /robots.txt en mis ficheros de registro?
- ¿Cómo puedo conseguir que
los robots no indexen mi Web?
- ¿Dónde puedo encontrar
cómo se usa el fichero /robots.txt?
- ¿Qué pasa si no puedo
hacer un fichero /robots.txt?
- Disponibilidad
- ¿Dónde puedo usar un
robot?
- ¿Dónde puedo conseguir un
robot?
- ¿Dónde puedo conseguir el
código fuente de un robot?
- Estoy haciendo un robot,
¿qué necesito saber?
- He hecho un robot, ¿cómo
puedo incluirlo en las listas?
Sobre los robots del WWW
¿Qué
es un robot WWW?
Un
robot es un programa que atraviesa automáticamente la estructura del
hipertexto del Web extrayendo un documento, y recurrentemente extrae todos
los documentos que estén referenciados.
Observe que "recurrente" aquí no limita la
definición a ningún algoritmo traversal específico; incluso si un robot
aplica algo de heurística a la selección y orden de documentos a visitar y
espacia mucho las peticiones en el tiempo, sigue siendo un robot.
Los browsers normales del Web no son robots, porque
funcionan por acción de un ser humano, y no extraen automáticamente los
documentos referidos (con excepción de imágenes en línea).
A los robots del Web a veces se les llama Web Wanderers,
Web Crawlers o Spiders (arañas). Estos nombres dan la impresión de que el
software tiene vida propia; esto no es exactamente así, un robot simplemente
visita sitios solicitando documentos.
¿Qué
es un agente?
La
palabra 'agente' tiene muchos significados en informática en estos días.
Algunos de ellos son:
Agentes
autónomos
son programas que viajan a través de los Webs,
decidiendo por sí mismos cuándo moverse y qué hacer (p.e. General
Magic's Telescript). Este sólo puede viajar entre servidores
especiales y no está muy extendido en InterNet.
Agentes
inteligentes
son programas que ayudan a los usuarios a realizar
determinadas acciones, eligiendo productos o guiando al usuario para rellenar
formularios correctamente o para encontrar cosas. Por lo general, tienen poco
que hacer en el entramado de una red.
Agente
de usuario
es un nombre técnico para los programas que realizan
tareas de red para un usuario, p.e. agentes de usuario para Web como Netscape
Explorer, agentes de usuario para e-mail como Qualcomm Eudora, etc.
¿Qué
es un motor de búsqueda?
Un
motor de búsqueda es un programa que busca a través de un conjunto de datos.
En el contexto del Web, la palabra 'motor de búsqueda' se usa para referirse
a programas que buscan en una base de datos de documentos HTML indexados por
un robot.
¿Cuántos
tipos de robots existen?
Los
robots se pueden usar para los siguientes propósitos:
- Indexación
- Comprobación de HTML
- Comprobación de enlaces
- Monitorización de "Qué
es nuevo"
- Mirroring
Dependiendo
del tipo de función que queramos realizar, debemos elegir un robot u otro.
Entonces, ¿qué son Robots,
Spiders, Web Crawlers, Worms, Ants?
Todos
estos nombres se usan para definir lo mismo, pero con pequeños matices:
Robots
el nombre genérico, míralo más arriba.
Spiders
(o arañas)
igual que los robots, pero suena mejor de cara a los
periódicos.
Worms
igual que los robots, aunque técnicamente es un programa
que se autoduplica, no como los robots.
Web
crawlers
igual que los robots, pero date cuenta de que WebCrawler
es un robot específico.
WebAnts
robots cooperativos distribuidos.
¿Son
malos los robots para el Web?
Hay
algunas razones por las que la gente cree que los robots son malos para el
Web:
- Algunos robots trabajan de
una forma que colapsa las redes y los servidores. Esto le ocurre
especialmente a la gente que empieza a escribir un robot; actualmente
hay suficiente información sobre robots para prevenir muchos de estos
fallos.
- Los robots actún por la
acción del hombre, que comete errores de configuración, o simplemente no
tiene en cuenta las consecuencias de sus actos. Esto significa que la
gente necesita tener cuidado, y los creadores de robots deben darle
pocas posibilidades a los demás de que se equivoquen y provoquen errores
graves.
- Los robots que indexan el
WWW van construyendo una base de datos central de documentos, que no
funciona muy bien con millones de documentos en millones de Webs.
Pero al
mismo tiempo, la mayoría de los robots están bien diseñados por
profesionales, no causan problemas y proporcionan un servicio de mucha
utilidad mientras no se encuentren soluciones mejores.
Los robots no son malos por sí mismos ni tampoco son
extraordinarios. Por eso, necesitan de una atención especial.
¿Hay
algún libro sobre robots?
Internet Agents:
Spiders, Wanderers, Brokers, and Bots de
Fah-Chun Cheong.
Este libro trata de los robots de WWW, agentes de
transacciones comerciales, agentes Mud y unos cuantos más. Incluye el fuente
de un robot simple basado en libwww-perl4.
Su
cobertura de HTTP, HTML y librerías Web es escasa para construir un robot,
pero proporciona una muy buena visión del tema si no dispones de tiempo para
buscar toda la información en el WWW.
Publicado por New Riders, ISBN 1-56205-463-5.
Bots and Other
Internet Beasties por Joseph Williams
Publicado por Sam's, ISBN: 1-57521-016-9
Web Client Programming with
Perl por Clinton Wong
Puedes
encontrar algunos más en The Software Agents Mailing List FAQ
¿Dónde
puedo encontrar más información?
Hay una
página sobre robots en: http://info.webcrawler.com/mak/projects/robots/robots.html
. Hay una enorme cantidad de documentación mantenida por Martijn
Koster. También puedes encontrar detalles y un archivo con la
lista de distribución sobre los robots, que está hecha para discusiones
técnicas sobre los mismos.
Robots que indexan
¿Cómo
decide un robot qué visitar?
Depende
del robot; cada uno usa sus propias estrategias. En general comienzan por un
listado 'histórico' de URLs, especialmente de documentos que tienen enlaces a
muchos Webs, como listas de servidores, páginas de novedades y los Webs más
populares de InterNet.
La mayoría de servicios de indexación te permiten mandar
URLs manualmente, que entran a formar parte de una cola para que el robot las
visite.
A veces, se usan otras fuentes de URLs, desde escáners
hasta grupos de USENET, archivos de listas de distribución públicos, etc.
Una vez dados estos puntos de comienzo, un robot puede
seleccionar URLs a visitar e indexar y tomarlas como fuentes para otras URLs.
¿Cómo
decide un robot que indexa qué indexar?
Si un
robots que indexa tiene constancia de la existencia de un documento, puede decidir
indexarlo y añadirlo en su base de datos. Cómo lo haga depende del robot:
algunos, indexan los títulos HTML o los primeros párrafos, o miran todo el
código HTML e indexan todas las palabras, con un peso determinado que depende
de las construcciones HTML, etc. Algunos tienen en cuenta los META tags u
otras etiquetas ocultas especiales.
¿Cómo
puedo registrar mis páginas con un robot?
Depende
del servicio :-) La mayoría tiene un formulario para añadir URLs en sus
páginas.
Afortunadamente no tienes que añadirlas manualmente. Submit-it
o nuestros profesionales pueden hacerlo por
tí.
Para los administradores de web
¿Cómo
puedo saber si me ha visitado un robot?
Puedes
buscar en los registros los sitios web desde los que se solicitan muchos
documentos, especialmente en un periodo corto de tiempo. Si tu servidor
soporta conexiones de agentes de usuario, puedes buscar peticiones con
cabeceras de agentes de usuario inusuales. Finalmente, si te das cuenta de
que desde un sitio web se solicita repetidamente el fichero '/robots.txt',
seguramente es un robot, también.
Me
ha visitado un robot. ¿Y ahora qué?
Bien,
no pasa nada :-) La idea es que son automáticos; así que no tienes que hacer
nada.
¡Un
robot está atravesando mi Web demasiado rápido!
Esto se
llama 'rapid-fire', y la gente normalmente lo nota si está monitorizando o
analizando un fichero de registro de accesos.
Lo primero de todo, mira si hay algún problema en tu
servidor, mira tu fichero de registro de errores y las conexiones
concurrentes si puedes. Si tienes un servidor medianamente aceptable, es
probable que puedas ver varias peticiones de documentos al servidor por
segundo, especialmente si las visitas son rápidas.
Si está claro que es un robot, hay algunas cosas que
puedes hacer. Lo más importante, empieza a ordenar la información: cuándo lo
notaste, qué ocurrión, qué se veía en los ficheros de registro, qué estás
haciendo para evitarlo, etc.; esto te ayudará a investigar el problema más
adelante. Segundo, intenta encontrar de dónde viene el robot, de qué
dirección IP o DNS, y mira si es un robot de los catalogados. Si puedes
identificar un sitio web, puedes contactar con el responsable y preguntarle
qué pasa.
¿Cómo
puedo mantener a un robot fuera de mi servidor?
Lee la
siguiente sección...
Estándar para la exclusión de robots
¿Por
qué encuentro accesos al fichero /robots.txt en mis ficheros de registro?
Probablemente
son de robots que intentan ver si has especificado algunas normas para ellos
usando el estándar para la exclusión de robots. Mira la sección de abajo.
Si no te importan los robots y no quieres que te
aparezca un error en tus ficheros de registro, crea un fichero robots.txt
vacío y ponlo en el directorio raiz de tu Web.
¿Cómo
puedo conseguir que los robots no indexen mi Web?
La
forma más rápida de hacerlo es poniendo estas dos líneas en el fichero
/robots.txt:
User-agent: *
Disallow: /
pero es
mejor ser un poco más cuidadoso con esto.
¿Dónde
puedo encontrar cómo se usa el fichero /robots.txt?
Puedes
buscar documentación técnica, pero los conceptos básicos son muy simples:
escribiendo un fichero de texto estructurado puedes indicarle a los robots
que ciertas partes de tu Web están fuera de sus límites. Vamos a ver un
ejemplo:
# Fichero /robots.txt para
http://webcrawler.com/
User-agent: webcrawler
Disallow:
User-agent: lycra
Disallow: /
User-agent: *
Disallow: /tmp
Disallow: /logs
La
primera línea, que empieza con '#', es un comentario.
El primer párrafo quiere decir que el robot llamado
'webcrawler' no tiene restricciones: puede ir donde quiera.
El segundo párrafo indica que el robot llamado 'lycra'
tiene prohibidas todas las direcciones relativas que empiezan por '/'. Como
todas las direcciones relativas de un servidor empiezan por '/', quiere decir
que tiene el acceso prohibido a todo el Web.
El tercer párrafo indica que todos los demás robots no
pueden visitar URLs que empiezan por /tmp o /log. El '*' es un caracter
especial, no una expresión regular.
Dos errores habituales:
- No se soportan las
expresiones regulares: en lugar de 'Disallow: /tmp/*' escribe 'Disallow:
/tmp'.
- No debes poner más de una
ruta en una línea Disallow (esto puede cambiar en una futura versión de
la especificación)
¿Qué
pasa si no puedo hacer un fichero /robots.txt?
A veces
no puedes hacer un fichero /robots.txt, porque no puedes administrar el servidor
completamente. Tranquilo, no está todo perdido. Hay un nuevo estándar para usar META tags de HTML y
mantener a los robots alejados de los documentos.
La idea básica es que si incluyes una etiqueta como:
<META NAME="ROBOTS"
CONTENT="NOINDEX">
en tu
documento HTML, este documento no se indexará.
Si pones:
<META
NAME="ROBOTS" CONTENT="NOFOLLOW">
los
enlaces que tiene ese documento no los indexará el robot.
Disponibilidad
¿Dónde
puedo usar un robot?
Si lo
que quieres es un servicio de búsqueda, mira en el Web de Netscape Exploring the Net o en MetaSearch.
¿Dónde
puedo conseguir un robot?
Bueno,
puedes consultar la lista de robots y buscar los de libre
distribución.
¿Dónde
puedo conseguir el código fuente de un robot?
Mira arriba -- en algunos sitios te
proporcionan el código fuente.
Si no lo consigues, mira el paquete libwww-perl5, que
tiene un ejemplo simple.
Estoy
haciendo un robot, ¿qué necesito saber?
Muchas
cosas. Primero, lee la documentación de la página de los robots y luego los
procedimientos de las últimas Conferencias WWW y las especificaciones de HTTP
y HTML completas. Sí, es mucho trabajo :-)
He
hecho un robot, ¿cómo puedo incluirlo en las listas?
Rellena
un formulario que encontrarás en The Web Robots Database.
|