Un rastreador web, indexador web, indizador web o araña web es un programa informático que inspecciona las páginas del World Wide Web de forma metódica y automatizada. Uno de los usos más frecuentes que se les da consiste en crear una copia de todas las páginas web visitadas para su procesado posterior por un motor de búsqueda que indexa las páginas proporcionando un sistema de búsquedas rápido. Las arañas web suelen ser bots.

Las arañas web comienzan visitando una lista de URL, identifica los hiperenlaces en dichas páginas y los añade a la lista de URL a visitar de manera recurrente de acuerdo a determinado conjunto de reglas. La operación normal es que se le da al programa un grupo de direcciones iniciales, la araña descarga estas direcciones, analiza las páginas y busca enlaces a páginas nuevas. Luego descarga estas páginas nuevas, analiza sus enlaces, y así sucesivamente.

Entre las tareas más comunes de las arañas de la web tenemos: Crear el índice de una máquina de búsqueda. Analizar los enlaces de un sitio para buscar links rotos. Recolectar información de un cierto tipo, como precios de productos para recopilar un catálogo.

Información general Un buen rastreador web comienza con una lista de direcciones URL para visitar, llamado “las semillas” . A medida que el rastreador visita estas direcciones URL, identifica todos los hipervínculos en la página y los añade a la lista de URL para visitar, llamada la frontera de rastreo . URL de la frontera se forma recursiva visitadas de acuerdo con un conjunto de políticas. Si el rastreador está realizando el archivo de los sitios web se copia y guarda la información a medida que avanza. Los archivos se almacenan por lo general de tal manera que se puedan ver, leer y navegar como lo fueron en la web en directo, pero se conservan como "instantáneas".

El gran volumen implica al rastreador que sólo puede descargar un número limitado de las páginas Web en un tiempo determinado, por lo que necesita dar prioridad a sus descargas. La alta tasa de cambio puede implicar a las páginas que podría ya haber sido actualizados o incluso eliminado.

El número de posibles URL rastreadas siendo generados por el software del lado del servidor también ha hecho que sea difícil para los rastreadores web para evitar recuperar el contenido duplicado.

Un sinfín de combinaciones de HTTP GET existen parámetros (basados en URL), de los cuales sólo una pequeña selección anterior obtiene un contenido único. Por ejemplo, un simple galería de fotos en línea puede ofrecer tres opciones a los usuarios, tal como se especifica a través de parámetros HTTP GET en la URL. Si existen cuatro formas de ordenar las imágenes, tres opciones de tamaño miniatura, dos formatos de archivo, y una opción para desactivar el contenido proporcionado por el usuario, a continuación, el mismo conjunto de contenidos se puede acceder con 48 direcciones URL diferentes, todos los cuales pueden estar vinculados en el sitio. Esta combinación matemática crea un problema para los rastreadores, ya que deben ordenar a través de un sinfín de combinaciones de secuencias de comando, cambios relativamente menores con el fin de recuperar el contenido único.

"Teniendo en cuenta que el ancho de banda para la realización de rastreos no es ni infinito ni libre, se hace indispensable para rastrear la Web, no sólo en una forma escalable, pero eficiente, sino también alguna medida razonable de calidad o frescura debe ser mantenido." Un rastreador debe elegir con cuidado en cada paso qué página siguiente visitar siempre.

Política de Arrastre o Rastreo El comportamiento de un buscador web es el resultado de una combinación de políticas: una política de selección que establece las páginas de descarga, una política de revisita que establece cuándo debe buscar cambios en las páginas, una política de cortesía que indica cómo evitar la sobrecarga de los sitios Web , y una política de paralelización que indica la forma de coordinar los rastreadores web distribuidos

Política de selección Teniendo en cuenta el tamaño actual de la Web, incluso los grandes motores de búsqueda cubren sólo una porción de la parte a disposición del público. Un estudio de 2009 mostró incluso a gran escala de los motores de búsqueda índice de no más de 40-70% de la Web indexable; un estudio previo realizado por Steve Lawrence y Lee Giles mostró que ningún motor de búsqueda indexa más de un 16% de la Web en 1999. Como rastreador siempre se descarga sólo una fracción de las páginas web, es altamente deseable para la fracción descargado poder contener las páginas más relevantes y no sólo una muestra aleatoria de la web.

Esto requiere una métrica de importancia para la priorización de las páginas Web. La importancia de una página es una función de su calidad intrínseca, su popularidad en términos de enlaces o visitas, e incluso de su URL (este último es el caso de los motores verticales de búsqueda restringidos a un único dominio de nivel superior, o motores de búsqueda restringidas a un sitio web fija). El diseño de una buena política de selección tiene una dificultad añadida: tiene que trabajar con información parcial, ya que el conjunto completo de páginas web no se conoce durante el rastreo.

Junghoo Cho et al. hicieron el primer estudio sobre las políticas para el rastreo de programación. Su conjunto de datos estaba a 180.000 páginas se arrastran desde el stanford.edu de dominio, en el que una simulación de rastreo se realizó con diferentes estrategias. Las métricas de pedido probados fueron primero en amplitud, vínculo de retroceso recuento y parciales cálculos Pagerank. Una de las conclusiones fue que si el rastreador quiere descargar páginas con alto Pagerank temprana durante el proceso de rastreo, entonces la estrategia Pagerank parcial es la mejor, seguida de primero en amplitud y vínculo de retroceso de recuento. Sin embargo, estos resultados son para un solo dominio. Cho también escribió su Ph.D. tesis doctoral en Stanford en el rastreo web.

Najork y Wiener realizaron un rastreo de 328 millones de páginas, utilizando una búsqueda de anchura. Descubrieron que un rastreo de búsqueda de anchura captura las páginas con alto Pagerank al principio del rastreo (pero no compararon esta estrategia con otras). La explicación que dan los autores para este resultado es que "las páginas más importantes tienen muchos enlaces hacia ellas desde numerosos hosts, y esos enlaces se encontrarán pronto, independientemente de en qué host o página se origine el rastreo".

Abiteboul diseñó una estrategia de rastreo basada en un algoritmo llamado OPIC (On-line Page Importance Computation). En el OPIC, cada página recibe una suma inicial de "dinero" que se distribuye por igual entre las páginas a las que apunta. Es similar al cálculo del PageRank, pero es más rápido y sólo se realiza en un paso. Un rastreador impulsado por OPIC descarga primero las páginas de la frontera de rastreo con mayores cantidades de "efectivo". Los experimentos se llevaron a cabo en un gráfico sintético de 100.000 páginas con una distribución de ley potencial de los enlaces internos. Sin embargo, no hubo comparación con otras estrategias ni experimentos en la web real.

Baeza-Yates et al. utilizaron la simulación en dos subconjuntos de la web de 3 millones de páginas del dominio .gr y .cl, probando varias estrategias de rastreo. Demostraron que tanto la estrategia OPIC como una estrategia que utiliza la longitud de las colas por sitio son mejores que el rastreo búsqueda de anchura, y que también es muy eficaz utilizar un rastreo anterior, cuando está disponible, para guiar el actual.

Daneshpajouh et al. diseñaron un algoritmo basado en la comunidad para descubrir buenas semillas. Su método rastrea páginas web con alto PageRank de diferentes comunidades en menos iteraciones en comparación con el rastreo que parte de semillas aleatorias. Uno puede extraer buenas semillas de un gráfico web previamente rastreado utilizando este nuevo método. Usando estas semillas, un nuevo rastreo puede ser muy efectivo.

Restringir los siguientes enlaces Un rastreador puede querer buscar sólo páginas HTML y evitar todos los demás tipos MIME. Para solicitar sólo recursos HTML, un rastreador puede hacer una petición HTTP HEAD para determinar el tipo MIME de un recurso web antes de solicitar el recurso completo con una petición GET. Para evitar realizar numerosas peticiones HEAD, un rastreador puede examinar la URL y sólo solicitar un recurso si la URL termina con ciertos caracteres como .html, .htm, .asp, .aspx, .php, .jsp, .jspx o una barra (/). Esta estrategia puede hacer que se omitan involuntariamente numerosos recursos web HTML.

Algunos rastreadores también pueden evitar solicitar cualquier recurso que tenga un "?" (se producen dinámicamente) para evitar las trampas de arañas que pueden hacer que el rastreador descargue un número infinito de URL de un sitio web. Esta estrategia no es fiable si el sitio utiliza la reescritura de URLs para simplificarlas.

Normalización de URLs miniaturadeimagen|Tipos de normalizaciones URI Los rastreadores suelen realizar algún tipo de normalizaciones de URL para evitar rastrear el mismo recurso más de una vez. El término normalización de URL, también llamado canonización de URL, se refiere al proceso de modificación y normalización de una URL de manera consistente. Hay varios tipos de normalización que pueden realizarse, incluyendo la conversión de las URLs a minúsculas, la eliminación de los segmentos "." y "..", y la adición de barras (/) al final del componente de la ruta no vacía.

Rastreo de rutas Algunos rastreadores pretenden descargar/cargar tantos recursos como sea posible de un sitio web concreto. Para ello, se introdujo el rastreo ascendente, que asciende a todas las rutas de cada URL que pretende rastrear. Por ejemplo, cuando se le da una URL inicial como http://llama.org/hamster/monkey/page.html, intentará rastrear /hamster/monkey/, /hamster/ y /. Cothey descubrió que un rastreador ascendente era muy eficaz para encontrar recursos aislados, o recursos para los que no se habría encontrado ningún enlace entrante en un rastreo normal.

Rastreo focalizado La importancia de una página para un rastreador también puede expresarse en función de la similitud de una página con una consulta determinada. Los rastreadores web que intentan descargar páginas similares entre sí se denominan rastreadores enfocados o rastreadores tópicos. Los conceptos de rastreo tópico y enfocado fueron introducidos por primera vez por Filippo Menczer y por Soumen Chakrabarti et al.

El principal problema del rastreo enfocado es que, en el contexto de un rastreador web, nos gustaría poder predecir la similitud del texto de una página determinada con la consulta antes de descargar la página. Un posible predictor es el texto ancla de los enlaces; éste fue el enfoque adoptado por Pinkerton en el primer rastreador web de los primeros días de la Web. Diligenti et al. proponen utilizar el contenido completo de las páginas ya visitadas para inferir la similitud entre la consulta de conducción y las páginas que aún no han sido visitadas. El rendimiento de un rastreo enfocado depende sobre todo de la riqueza de los enlaces en el tema específico que se busca, y un rastreo enfocado suele depender de un motor de búsqueda web general para proporcionar puntos de partida.

Rastreador centrado en el ámbito académico