Rastreador web

Software que navega sistemáticamente por la World Wide Web

Arquitectura de un rastreador web

Un rastreador web , a veces llamado araña o robot araña y a menudo abreviado como rastreador , es un robot de Internet que navega sistemáticamente por la World Wide Web y que generalmente es operado por motores de búsqueda con el propósito de indexar la Web ( arañas web ). [1]

Los motores de búsqueda web y otros sitios web utilizan software de rastreo web para actualizar su contenido web o los índices del contenido web de otros sitios. Los rastreadores web copian páginas para que un motor de búsqueda las procese, y este indexa las páginas descargadas para que los usuarios puedan buscar de forma más eficiente.

Los rastreadores consumen recursos de los sistemas visitados y, a menudo, visitan los sitios sin que se les solicite. Cuando se accede a grandes conjuntos de páginas, surgen problemas de programación, carga y "cortesía". Existen mecanismos para que los sitios públicos que no desean ser rastreados se lo hagan saber al agente de rastreo. Por ejemplo, incluir un robots.txtarchivo puede solicitar a los bots que indexen solo partes de un sitio web o nada en absoluto.

La cantidad de páginas de Internet es extremadamente grande; ni siquiera los rastreadores más grandes logran realizar un índice completo. Por este motivo, los motores de búsqueda tuvieron dificultades para ofrecer resultados de búsqueda relevantes en los primeros años de la World Wide Web, antes del año 2000. Hoy, los resultados relevantes se ofrecen casi instantáneamente.

Los rastreadores pueden validar hipervínculos y código HTML . También se pueden utilizar para extraer datos de la web y para la programación basada en datos .

Nomenclatura

Un rastreador web también se conoce como araña , [2] hormiga , indexador automático , [3] o (en el contexto del software FOAF ) rastreador web . [4 ]

Descripción general

Un rastreador web comienza con una lista de URL para visitar. Esas primeras URL se denominan semillas . A medida que el rastreador visita estas URL, al comunicarse con los servidores web que responden a esas URL, identifica todos los hipervínculos en las páginas web recuperadas y los agrega a la lista de URL para visitar, llamada frontera de rastreo . Las URL de la frontera se visitan de forma recursiva de acuerdo con un conjunto de políticas. Si el rastreador está realizando el archivado de sitios web (o archivado web ), copia y guarda la información a medida que avanza. Los archivos generalmente se almacenan de tal manera que se puedan ver, leer y navegar como si estuvieran en la web en vivo, pero se conservan como "instantáneas". [5]

El archivo se conoce como repositorio y está diseñado para almacenar y administrar la colección de páginas web . El repositorio solo almacena páginas HTML y estas páginas se almacenan como archivos distintos. Un repositorio es similar a cualquier otro sistema que almacena datos, como una base de datos moderna. La única diferencia es que un repositorio no necesita toda la funcionalidad que ofrece un sistema de base de datos. El repositorio almacena la versión más reciente de la página web recuperada por el rastreador. [ cita requerida ]

El gran volumen implica que el rastreador solo puede descargar una cantidad limitada de páginas web en un tiempo determinado, por lo que necesita priorizar sus descargas. La alta tasa de cambio puede implicar que las páginas ya se hayan actualizado o incluso eliminado.

La cantidad de URL posibles que genera el software del lado del servidor también ha dificultado que los rastreadores web eviten recuperar contenido duplicado . Existen infinitas combinaciones de parámetros HTTP GET (basados ​​en URL), de las cuales solo una pequeña selección realmente devolverá contenido único. Por ejemplo, una simple galería de fotos en línea puede ofrecer tres opciones a los usuarios, según se especifique 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 de miniatura , dos formatos de archivo y una opción para deshabilitar el contenido proporcionado por el usuario, entonces se puede acceder al mismo conjunto de contenido con 48 URL diferentes, todas las cuales pueden estar vinculadas en el sitio. Esta combinación matemática crea un problema para los rastreadores, ya que deben clasificar infinitas combinaciones de cambios de script relativamente menores para recuperar contenido único.

Como señalaron Edwards et al. , "Dado que el ancho de banda para realizar rastreos no es infinito ni gratuito, resulta esencial rastrear la Web no solo de manera escalable, sino también eficiente, si se desea mantener algún nivel razonable de calidad o frescura". [6] Un rastreador debe elegir cuidadosamente en cada paso qué páginas visitar a continuación.

Política de rastreo

El comportamiento de un rastreador web es el resultado de una combinación de políticas: [7]

  • una política de selección que establece las páginas a descargar,
  • una política de nuevas visitas que indique cuándo verificar si hay cambios en las páginas,
  • una política de cortesía que establece cómo evitar la sobrecarga de los sitios web .
  • una política de paralelización que establece cómo coordinar rastreadores web distribuidos.

Política de selección

Dado el tamaño actual de la Web, incluso los grandes motores de búsqueda cubren sólo una parte de la parte disponible públicamente. Un estudio de 2009 mostró que incluso los motores de búsqueda a gran escala indexan no más del 40-70% de la Web indexable; [8] un estudio previo de Steve Lawrence y Lee Giles mostró que ningún motor de búsqueda indexó más del 16% de la Web en 1999. [9] Como un rastreador siempre descarga sólo una fracción de las páginas Web , es muy deseable que la fracción descargada contenga las páginas más relevantes y no sólo una muestra aleatoria de la Web.

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

Junghoo Cho et al. realizaron el primer estudio sobre políticas para la programación de rastreo. Su conjunto de datos fue un rastreo de 180.000 páginas del stanford.edudominio, en el que se realizó una simulación de rastreo con diferentes estrategias. [10] Las métricas de ordenación probadas fueron la amplitud , el recuento de backlinks y los cálculos parciales de PageRank . Una de las conclusiones fue que si el rastreador quiere descargar páginas con un PageRank alto al principio del proceso de rastreo, entonces la estrategia de PageRank parcial es la mejor, seguida de la amplitud y el recuento de backlinks. Sin embargo, estos resultados son solo para un único dominio. Cho también escribió su tesis doctoral en Stanford sobre rastreo web. [11]

Najork y Wiener realizaron un rastreo real de 328 millones de páginas, utilizando el ordenamiento en amplitud. [12] Descubrieron que un rastreo en amplitud captura páginas con un Pagerank alto al principio del rastreo (pero no compararon esta estrategia con otras estrategias). La explicación que dan los autores para este resultado es que "las páginas más importantes tienen muchos enlaces a ellas desde numerosos hosts, y esos enlaces se encontrarán al principio, 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). [13] En OPIC, a cada página se le asigna una suma inicial de "dinero" que se distribuye equitativamente entre las páginas a las que apunta. Es similar a un cálculo de PageRank, pero es más rápido y se realiza en un solo paso. Un rastreador impulsado por OPIC descarga primero las páginas en la frontera de rastreo con mayores cantidades de "dinero". Los experimentos se llevaron a cabo en un gráfico sintético de 100.000 páginas con una distribución de ley de potencia de enlaces entrantes. Sin embargo, no se realizó ninguna comparación con otras estrategias ni experimentos en la Web real.

Boldi et al. utilizaron una simulación en subconjuntos de la Web de 40 millones de páginas del .itdominio y 100 millones de páginas del rastreo de WebBase, probando la estrategia de amplitud frente a la de profundidad, ordenación aleatoria y omnisciencia. La comparación se basó en la precisión con la que el PageRank calculado en un rastreo parcial se aproxima al valor real del PageRank. Algunas visitas que acumulan PageRank muy rápidamente (sobre todo, la visita de amplitud y la omnisciente) proporcionan aproximaciones progresivas muy deficientes. [14] [15]

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

Daneshpajouh et al. diseñaron un algoritmo basado en la comunidad para descubrir buenas semillas. [17] Su método rastrea páginas web con alto PageRank de diferentes comunidades en menos iteraciones en comparación con el rastreo a partir de semillas aleatorias. Se puede extraer una buena semilla de un gráfico web rastreado previamente utilizando este nuevo método. Con estas semillas, un nuevo rastreo puede ser muy efectivo.

Es posible que un rastreador solo desee buscar páginas HTML y evitar todos los demás tipos MIME . Para solicitar solo recursos HTML, un rastreador puede realizar una solicitud HEAD HTTP para determinar el tipo MIME de un recurso web antes de solicitar el recurso completo con una solicitud GET. Para evitar realizar numerosas solicitudes HEAD, un rastreador puede examinar la URL y solo solicitar un recurso si la URL termina con ciertos caracteres como .html, .htm, .asp, .aspx, .php, .jsp, .jspx o una barra. Esta estrategia puede provocar que se omitan involuntariamente numerosos recursos web HTML.

Algunos rastreadores también pueden evitar solicitar recursos que tengan un "?" (se generan dinámicamente) para evitar trampas de arañas que pueden hacer que el rastreador descargue una cantidad infinita de URL de un sitio web. Esta estrategia no es confiable si el sitio utiliza la reescritura de URL para simplificarlas.

Normalización de URL

Los rastreadores suelen realizar algún tipo de normalización 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 modificar y estandarizar una URL de manera consistente. Existen varios tipos de normalización que se pueden realizar, incluida la conversión de URL a minúsculas, la eliminación de los segmentos "." y ".." y la adición de barras diagonales finales al componente de ruta no vacío. [18]

Arrastrándose por el camino ascendente

Algunos rastreadores intentan descargar o cargar tantos recursos como sea posible de un sitio web en particular. Por eso, se introdujo un rastreador de ruta ascendente que ascendería a cada ruta en cada URL que pretenda rastrear. [19] Por ejemplo, cuando se le da una URL de semilla de http://llama.org/hamster/monkey/page.html, intentará rastrear /hamster/monkey/, /hamster/ y /. Cothey descubrió que un rastreador de ruta 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.

Gateo enfocado

La importancia de una página para un rastreador también se puede expresar como una función de la similitud de una página con una consulta dada. Los rastreadores web que intentan descargar páginas que son similares entre sí se denominan rastreadores enfocados o rastreadores temáticos . Los conceptos de rastreo temático y enfocado fueron introducidos por primera vez por Filippo Menczer [20] [21] y por Soumen Chakrabarti et al. [22] .

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 dada con la consulta antes de descargar la página. Un posible predictor es el texto de anclaje de los enlaces; este fue el enfoque adoptado por Pinkerton [23] en el primer rastreador web de los primeros días de la Web. Diligenti et al. [24] proponen utilizar el contenido completo de las páginas ya visitadas para inferir la similitud entre la consulta principal y las páginas que aún no se han visitado. El rendimiento de un rastreo enfocado depende principalmente de la riqueza de los enlaces en el tema específico que se está buscando, y un rastreo enfocado generalmente se basa en un motor de búsqueda web general para proporcionar puntos de partida.

Rastreador enfocado en lo académico

Un ejemplo de los rastreadores enfocados son los rastreadores académicos, que rastrean documentos académicos de libre acceso relacionados, como citeseerxbot , que es el rastreador del motor de búsqueda CiteSeer X. Otros motores de búsqueda académicos son Google Scholar y Microsoft Academic Search , etc. Debido a que la mayoría de los artículos académicos se publican en formatos PDF , este tipo de rastreador está particularmente interesado en rastrear archivos PDF, PostScript , Microsoft Word, incluidos sus formatos comprimidos . Debido a esto, los rastreadores generales de código abierto, como Heritrix , deben personalizarse para filtrar otros tipos MIME , o se utiliza un middleware para extraer estos documentos e importarlos a la base de datos y repositorio de rastreo enfocados. [25] Identificar si estos documentos son académicos o no es un desafío y puede agregar una sobrecarga significativa al proceso de rastreo, por lo que esto se realiza como un proceso de rastreo posterior utilizando aprendizaje automático o algoritmos de expresión regular . Estos documentos académicos generalmente se obtienen de las páginas de inicio de facultades y estudiantes o de la página de publicación de institutos de investigación. Dado que los documentos académicos representan solo una pequeña fracción de todas las páginas web, una buena selección de fuentes es importante para aumentar la eficiencia de estos rastreadores web. [26] Otros rastreadores académicos pueden descargar archivos de texto sin formato y HTML que contienen metadatos de documentos académicos, como títulos, artículos y resúmenes. Esto aumenta la cantidad total de artículos, pero es posible que una fracción significativa no proporcione descargas gratuitas en formato PDF.

Rastreador centrado en la semántica

Otro tipo de rastreadores enfocados es el rastreador enfocado semántico, que hace uso de ontologías de dominio para representar mapas temáticos y vincular páginas web con conceptos ontológicos relevantes para fines de selección y categorización. [27] Además, las ontologías se pueden actualizar automáticamente en el proceso de rastreo. Dong et al. [28] presentó un rastreador basado en aprendizaje de ontologías que utiliza una máquina de vectores de soporte para actualizar el contenido de conceptos ontológicos al rastrear páginas web.

Política de revisión

La Web tiene una naturaleza muy dinámica y rastrear una fracción de ella puede llevar semanas o meses. Para cuando un rastreador web haya terminado su rastreo, pueden haber ocurrido muchos eventos, incluidas creaciones, actualizaciones y eliminaciones.

Desde el punto de vista del motor de búsqueda, existe un costo asociado a no detectar un evento y, por lo tanto, tener una copia desactualizada de un recurso. Las funciones de costo más utilizadas son la frescura y la antigüedad. [29]

Frescura : es una medida binaria que indica si la copia local es exacta o no. La frescura de una página p en el repositorio en el momento t se define como:

F pag ( a ) = { 1 i F   pag     i s   mi q a yo   a o   a yo mi   yo o do a yo   do o pag y   a a   a i metro mi   a 0 o a yo mi a el i s mi {\displaystyle F_{p}(t)={\begin{cases}1&{\rm {si}}~p~{\rm {~es~igual~a~la~copia~local~en~el~momento}}~t\\0&{\rm {en~lo~contrario}}\end{cases}}}

Antigüedad : es una medida que indica qué tan desactualizada está la copia local. La antigüedad de una página p en el repositorio, en el momento t, se define como:

A pag ( a ) = { 0 i F   pag     i s   norte o a   metro o d i F i mi d   a a   a i metro mi   a a metro o d i F i do a a i o norte   a i metro mi   o F   pag o a yo mi a el i s mi {\displaystyle A_{p}(t)={\begin{cases}0&{\rm {si}}~p~{\rm {~no~se~modifica~en~el~momento}}~t\\t-{\rm {tiempo~de~modificación~de}}~p&{\rm {en~lo~contrario}}\end{cases}}}

Coffman et al. trabajaron con una definición del objetivo de un rastreador web que es equivalente a la frescura, pero utilizan una redacción diferente: proponen que un rastreador debe minimizar la fracción de tiempo que las páginas permanecen obsoletas. También observaron que el problema del rastreo web se puede modelar como un sistema de sondeo de múltiples colas y un solo servidor, en el que el rastreador web es el servidor y los sitios web son las colas. Las modificaciones de página son la llegada de los clientes y los tiempos de cambio son el intervalo entre los accesos a la página de un solo sitio web. Según este modelo, el tiempo de espera medio de un cliente en el sistema de sondeo es equivalente a la edad promedio del rastreador web. [30]

El objetivo del rastreador es mantener la frescura promedio de las páginas de su colección lo más alta posible, o mantener la antigüedad promedio de las páginas lo más baja posible. Estos objetivos no son equivalentes: en el primer caso, el rastreador solo se preocupa por cuántas páginas están desactualizadas, mientras que en el segundo caso, el rastreador se preocupa por la antigüedad de las copias locales de las páginas.

Evolución de la frescura y la antigüedad en un rastreador web

Cho y García-Molina estudiaron dos políticas simples de revisión: [31]

  • Política uniforme: implica volver a visitar todas las páginas de la colección con la misma frecuencia, independientemente de sus tasas de cambio.
  • Política proporcional: implica volver a visitar con mayor frecuencia las páginas que cambian con mayor frecuencia. La frecuencia de visitas es directamente proporcional a la frecuencia de cambio (estimada).

En ambos casos, el orden de rastreo repetido de páginas se puede realizar en un orden aleatorio o fijo.

Cho y García-Molina demostraron el sorprendente resultado de que, en términos de frescura promedio, la política uniforme supera a la política proporcional tanto en una simulación de rastreo de la Web como en un rastreo de la Web real. Intuitivamente, el razonamiento es que, como los rastreadores web tienen un límite en la cantidad de páginas que pueden rastrear en un período de tiempo determinado, (1) asignarán demasiados rastreos nuevos a páginas que cambian rápidamente a expensas de páginas que se actualizan con menor frecuencia, y (2) la frescura de las páginas que cambian rápidamente dura un período más corto que la de las páginas que cambian con menor frecuencia. En otras palabras, una política proporcional asigna más recursos al rastreo de páginas que se actualizan con frecuencia, pero experimenta menos tiempo de frescura general de ellas.

Para mejorar la frescura, el rastreador debe penalizar los elementos que cambian con demasiada frecuencia. [32] La política óptima de revisitas no es ni la política uniforme ni la política proporcional. El método óptimo para mantener alta la frescura promedio incluye ignorar las páginas que cambian con demasiada frecuencia, y el óptimo para mantener baja la edad promedio es usar frecuencias de acceso que aumenten monótonamente (y sublinealmente) con la tasa de cambio de cada página. En ambos casos, lo óptimo está más cerca de la política uniforme que de la política proporcional: como Coffman et al. señalan, "para minimizar el tiempo de obsolescencia esperado, los accesos a cualquier página en particular deben mantenerse tan espaciados uniformemente como sea posible". [30] Las fórmulas explícitas para la política de revisitas no son alcanzables en general, pero se obtienen numéricamente, ya que dependen de la distribución de los cambios de página. Cho y García-Molina muestran que la distribución exponencial es una buena opción para describir los cambios de página, [32] mientras que Ipeirotis et al. muestran cómo usar herramientas estadísticas para descubrir parámetros que afectan a esta distribución. [33] Las políticas de revisita consideradas aquí consideran todas las páginas como homogéneas en términos de calidad ("todas las páginas de la Web valen lo mismo"), algo que no es un escenario realista, por lo que se debería incluir más información sobre la calidad de la página Web para lograr una mejor política de rastreo.

Política de cortesía

Los rastreadores pueden recuperar datos mucho más rápido y con mayor profundidad que los buscadores humanos, por lo que pueden tener un impacto devastador en el rendimiento de un sitio. Si un solo rastreador realiza varias solicitudes por segundo o descarga archivos grandes, un servidor puede tener dificultades para responder a las solicitudes de varios rastreadores.

Como señaló Koster, el uso de rastreadores web es útil para diversas tareas, pero tiene un precio para la comunidad en general. [34] Los costos de usar rastreadores web incluyen:

  • recursos de red, ya que los rastreadores requieren un ancho de banda considerable y operan con un alto grado de paralelismo durante un largo período de tiempo;
  • sobrecarga del servidor, especialmente si la frecuencia de accesos a un servidor determinado es demasiado alta;
  • rastreadores mal escritos, que pueden bloquear servidores o enrutadores, o que descargan páginas que no pueden manejar; y
  • rastreadores personales que, si son implementados por demasiados usuarios, pueden interrumpir las redes y los servidores web.

Una solución parcial a estos problemas es el protocolo de exclusión de robots , también conocido como protocolo robots.txt, que es un estándar para que los administradores indiquen a qué partes de sus servidores web no deben acceder los rastreadores. [35] Este estándar no incluye una sugerencia para el intervalo de visitas al mismo servidor, aunque este intervalo es la forma más efectiva de evitar la sobrecarga del servidor. Recientemente, los motores de búsqueda comerciales como Google , Ask Jeeves , MSN y Yahoo! Search pueden usar un parámetro adicional "Crawl-delay:" en el archivo robots.txt para indicar el número de segundos de retraso entre solicitudes.

El primer intervalo propuesto entre cargas de páginas sucesivas fue de 60 segundos. [36] Sin embargo, si se descargaran páginas a este ritmo desde un sitio web con más de 100.000 páginas a través de una conexión perfecta con latencia cero y ancho de banda infinito, se necesitarían más de dos meses para descargar solo ese sitio web completo; además, solo se utilizaría una fracción de los recursos de ese servidor web.

Cho utiliza 10 segundos como intervalo de acceso, [31] y el rastreador WIRE utiliza 15 segundos como valor predeterminado. [37] El rastreador MercatorWeb sigue una política de cortesía adaptativa: si tomó t segundos descargar un documento de un servidor determinado, el rastreador espera 10 t segundos antes de descargar la página siguiente. [38] Dill et al. utilizan 1 segundo. [39]

Para quienes utilizan rastreadores web con fines de investigación, se necesita un análisis costo-beneficio más detallado y se deben tener en cuenta consideraciones éticas al decidir dónde rastrear y con qué velocidad hacerlo. [40]

La evidencia anecdótica de los registros de acceso muestra que los intervalos de acceso de los rastreadores conocidos varían entre 20 segundos y 3-4 minutos. Vale la pena notar que incluso cuando se es muy educado y se toman todas las precauciones para evitar sobrecargar los servidores web, se reciben algunas quejas de los administradores de servidores web. Sergey Brin y Larry Page señalaron en 1998 que "... ejecutar un rastreador que se conecta a más de medio millón de servidores... genera una cantidad considerable de correos electrónicos y llamadas telefónicas. Debido a la gran cantidad de personas que se conectan a Internet, siempre hay quienes no saben qué es un rastreador, porque es el primero que ven". [41]

Política de paralelización

Un rastreador paralelo es un rastreador que ejecuta varios procesos en paralelo. El objetivo es maximizar la velocidad de descarga mientras se minimiza la sobrecarga de la paralelización y evitar descargas repetidas de la misma página. Para evitar descargar la misma página más de una vez, el sistema de rastreo requiere una política para asignar las nuevas URL descubiertas durante el proceso de rastreo, ya que dos procesos de rastreo diferentes pueden encontrar la misma URL.

Arquitecturas

Arquitectura de alto nivel de un rastreador web estándar

Un rastreador no solo debe tener una buena estrategia de rastreo, como se señaló en las secciones anteriores, sino que también debe tener una arquitectura altamente optimizada.

Shkapenyuk y Suel señalaron que: [42]

Si bien es bastante fácil construir un rastreador lento que descargue unas pocas páginas por segundo durante un corto período de tiempo, construir un sistema de alto rendimiento que pueda descargar cientos de millones de páginas durante varias semanas presenta una serie de desafíos en el diseño del sistema, la eficiencia de E/S y de la red, y la robustez y la capacidad de administración.

Los rastreadores web son una parte central de los motores de búsqueda y los detalles sobre sus algoritmos y arquitectura se mantienen como secretos comerciales. Cuando se publican los diseños de los rastreadores, a menudo hay una falta importante de detalles que impide que otros reproduzcan el trabajo. También están surgiendo preocupaciones sobre el " spam de los motores de búsqueda ", que impide que los principales motores de búsqueda publiquen sus algoritmos de clasificación.

Seguridad

Si bien la mayoría de los propietarios de sitios web desean que sus páginas estén indexadas lo más ampliamente posible para tener una fuerte presencia en los motores de búsqueda , el rastreo web también puede tener consecuencias no deseadas y provocar una vulneración o violación de datos si un motor de búsqueda indexa recursos que no deberían estar disponibles públicamente o páginas que revelan versiones de software potencialmente vulnerables.

Además de las recomendaciones de seguridad de aplicaciones web estándar , los propietarios de sitios web pueden reducir su exposición a ataques oportunistas permitiendo que los motores de búsqueda indexen únicamente las partes públicas de sus sitios web (con robots.txt ) y bloqueándolos explícitamente para que no indexen las partes transaccionales (páginas de inicio de sesión, páginas privadas, etc.).

Identificación de rastreadores

Los rastreadores web suelen identificarse ante un servidor web mediante el campo User-agent de una solicitud HTTP . Los administradores de sitios web suelen examinar el registro de sus servidores web y utilizan el campo User-agent para determinar qué rastreadores han visitado el servidor web y con qué frecuencia. El campo User-agent puede incluir una URL en la que el administrador del sitio web puede encontrar más información sobre el rastreador. Examinar el registro del servidor web es una tarea tediosa y, por lo tanto, algunos administradores utilizan herramientas para identificar, rastrear y verificar los rastreadores web. Es poco probable que los robots de spam y otros rastreadores web maliciosos coloquen información de identificación en el campo User-agent, o pueden enmascarar su identidad como un navegador u otro rastreador conocido.

Los administradores de sitios web prefieren que los rastreadores web se identifiquen para poder contactar al propietario si es necesario. En algunos casos, los rastreadores pueden quedar atrapados accidentalmente en una trampa de rastreo o pueden estar sobrecargando un servidor web con solicitudes y el propietario necesita detener el rastreador. La identificación también es útil para los administradores que están interesados ​​en saber cuándo pueden esperar que un motor de búsqueda en particular indexe sus páginas web .

Explorando la red profunda

Una gran cantidad de páginas web se encuentran en la web profunda o invisible . [43] Por lo general, solo se puede acceder a estas páginas enviando consultas a una base de datos, y los rastreadores regulares no pueden encontrarlas si no hay enlaces que apunten a ellas. El protocolo Sitemaps de Google y el mod oai [44] tienen como objetivo permitir el descubrimiento de estos recursos de la web profunda .

El rastreo profundo de la web también multiplica la cantidad de enlaces web que se deben rastrear. Algunos rastreadores solo toman algunas de las URL en <a href="URL">formato. En algunos casos, como el de Googlebot , el rastreo web se realiza en todo el texto incluido en el contenido de hipertexto, las etiquetas o el texto.

Se pueden adoptar enfoques estratégicos para identificar el contenido de la Deep Web. Con una técnica llamada screen scraping , se puede personalizar un software especializado para consultar de forma automática y repetida un formulario web determinado con la intención de agregar los datos resultantes. Este software se puede utilizar para abarcar varios formularios web en varios sitios web. Los datos extraídos de los resultados del envío de un formulario web se pueden tomar y aplicar como entrada a otro formulario web, estableciendo así una continuidad en la Deep Web de una manera que no es posible con los rastreadores web tradicionales. [45]

Las páginas creadas con AJAX son algunas de las que causan problemas a los rastreadores web. Google ha propuesto un formato de llamadas AJAX que su robot puede reconocer e indexar. [46]

Rastreadores visuales y programáticos

Hay una serie de productos de "rastreadores/extractores web visuales" disponibles en la web que rastrean páginas y estructuran datos en columnas y filas según los requisitos de los usuarios. Una de las principales diferencias entre un rastreador clásico y uno visual es el nivel de habilidad de programación necesario para configurar un rastreador. La última generación de "rastreadores visuales" elimina la mayor parte de la habilidad de programación necesaria para poder programar e iniciar un rastreo para extraer datos web.

El método de rastreo visual se basa en que el usuario "enseñe" una parte de la tecnología del rastreador, que luego sigue patrones en fuentes de datos semiestructurados. El método dominante para enseñar a un rastreador visual es resaltar datos en un navegador y entrenar columnas y filas. Si bien la tecnología no es nueva, por ejemplo, fue la base de Needlebase, que fue comprada por Google (como parte de una adquisición más grande de ITA Labs [47] ), existe un crecimiento continuo y una inversión en esta área por parte de inversores y usuarios finales. [ cita requerida ]

Lista de rastreadores web

A continuación se incluye una lista de arquitecturas de rastreadores publicadas para rastreadores de propósito general (excluidos los rastreadores web específicos), con una breve descripción que incluye los nombres dados a los diferentes componentes y las características destacadas:

Rastreadores web históricos

  • World Wide Web Worm era un rastreador que se utilizaba para crear un índice simple de títulos de documentos y URL. El índice podía buscarse mediante el comando grep Unix .
  • Yahoo! Slurp era el nombre del rastreador de búsqueda de Yahoo! hasta que Yahoo! firmó un contrato con Microsoft para utilizar Bingbot en su lugar.

Rastreadores web internos

  • Applebot es el robot de búsqueda de Apple . Es compatible con Siri y otros productos. [48]
  • Bingbot es el nombre del rastreador web Bing de Microsoft . Reemplazó a Msnbot .
  • Baiduspider es el rastreador web de Baidu .
  • DuckDuckBot es el rastreador web de DuckDuckGo .
  • Googlebot se describe con cierto detalle, pero la referencia solo se refiere a una versión temprana de su arquitectura, que se escribió en C++ y Python . El rastreador se integró con el proceso de indexación, porque el análisis de texto se realizó para la indexación de texto completo y también para la extracción de URL. Hay un servidor de URL que envía listas de URL para que sean recuperadas por varios procesos de rastreo. Durante el análisis, las URL encontradas se pasaron a un servidor de URL que verificó si la URL se había visto anteriormente. Si no, la URL se agregó a la cola del servidor de URL.
  • WebCrawler se utilizó para crear el primer índice de texto completo disponible públicamente de un subconjunto de la Web. Se basó en lib-WWW para descargar páginas y otro programa para analizar y ordenar las URL para la exploración en amplitud del gráfico de la Web. También incluía un rastreador en tiempo real que seguía los enlaces en función de la similitud del texto de anclaje con la consulta proporcionada.
  • WebFountain es un rastreador distribuido y modular similar a Mercator pero escrito en C++.
  • Xenon es un rastreador web utilizado por las autoridades fiscales del gobierno para detectar fraudes. [49] [50]

Rastreadores web comerciales

Los siguientes rastreadores web están disponibles por un precio:

Rastreadores de código abierto

  • Apache Nutch es un rastreador web altamente extensible y escalable escrito en Java y publicado bajo una licencia Apache . Se basa en Apache Hadoop y se puede utilizar con Apache Solr o Elasticsearch .
  • Grub era un rastreador de búsqueda distribuido de código abierto que Wikia Search utilizaba para rastrear la web.
  • Heritrix es el rastreador de calidad de archivo de Internet Archive , diseñado para archivar instantáneas periódicas de una gran parte de la Web. Fue escrito en Java .
  • ht://Dig incluye un rastreador web en su motor de indexación.
  • HTTrack utiliza un rastreador web para crear un espejo de un sitio web para verlo sin conexión. Está escrito en C y publicado bajo licencia GPL.
  • Norconex Web Crawler es un rastreador web altamente extensible escrito en Java y publicado bajo una licencia Apache . Se puede utilizar con muchos repositorios como Apache Solr , Elasticsearch , Microsoft Azure Cognitive Search , Amazon CloudSearch y más.
  • mnoGoSearch es un rastreador, indexador y motor de búsqueda escrito en C y con licencia GPL (solo para máquinas *NIX)
  • Open Search Server es un motor de búsqueda y un software de rastreo web publicado bajo la licencia GPL.
  • Scrapy , un marco de rastreo web de código abierto, escrito en Python (con licencia BSD ).
  • Seeks , un motor de búsqueda distribuido y gratuito (con licencia AGPL ).
  • StormCrawler , una colección de recursos para crear rastreadores web escalables y de baja latencia en Apache Storm (licencia Apache).
  • tkWWW Robot , un rastreador basado en el navegador web tkWWW (con licencia GPL).
  • GNU Wget es un rastreador operado por línea de comandos escrito en C y publicado bajo la licencia GPL . Se utiliza generalmente para reflejar sitios web y FTP.
  • Xapian , un motor de búsqueda escrito en C++.
  • YaCy , un motor de búsqueda distribuido gratuitamente, construido sobre principios de redes peer-to-peer (licencia GPL).

Véase también

Referencias

  1. ^ "Web Crawlers: Navegando por la Web". Archivado desde el original el 6 de diciembre de 2021.
  2. ^ Spetka, Scott. "El robot TkWWW: más allá de la navegación". NCSA . Archivado desde el original el 3 de septiembre de 2004. Consultado el 21 de noviembre de 2010 .
  3. ^ Kobayashi, M. y Takeda, K. (2000). "Recuperación de información en la web". ACM Computing Surveys . 32 (2): 144–173. CiteSeerX 10.1.1.126.6094 . doi :10.1145/358923.358934. S2CID  3710903. 
  4. ^ Véase la definición de scutter en la wiki del Proyecto FOAF Archivado el 13 de diciembre de 2009 en Wayback Machine.
  5. ^ Masanès, Julien (15 de febrero de 2007). Archivado web. Springer. p. 1. ISBN 978-3-54046332-0. Recuperado el 24 de abril de 2014 .
  6. ^ Edwards, J.; McCurley, KS; y Tomlin, JA (2001). "Un modelo adaptativo para optimizar el rendimiento de un rastreador web incremental". Actas de la 10.ª conferencia internacional sobre la World Wide Web. págs. 106-113. CiteSeerX 10.1.1.1018.1506 . doi :10.1145/371920.371960. ISBN .  978-1581133486. S2CID  10316730. Archivado desde el original el 25 de junio de 2014 . Consultado el 25 de enero de 2007 .{{cite book}}: CS1 maint: varios nombres: lista de autores ( enlace )
  7. ^ Castillo, Carlos (2004). Effective Web Crawling (Tesis doctoral). Universidad de Chile . Consultado el 3 de agosto de 2010 .
  8. ^ Gulls, A.; A. Signori (2005). "La web indexable tiene más de 11.500 millones de páginas". Temas de interés especial y carteles de la 14.ª conferencia internacional sobre la World Wide Web . ACM Press. pp. 902–903. doi :10.1145/1062745.1062789.
  9. ^ Lawrence, Steve; C. Lee Giles (8 de julio de 1999). "Accesibilidad de la información en la web". Nature . 400 (6740): 107–9. Bibcode :1999Natur.400..107L. doi : 10.1038/21987 . PMID  10428673. S2CID  4347646.
  10. ^ Cho, J.; Garcia-Molina, H.; Page, L. (abril de 1998). "Rastreo eficiente mediante ordenación de URL". Séptima Conferencia Internacional sobre la World Wide Web . Brisbane, Australia. doi :10.1142/3725. ISBN 978-981-02-3400-3. Recuperado el 23 de marzo de 2009 .
  11. ^ Cho, Junghoo, "Rastreando la Web: Descubrimiento y mantenimiento de datos web a gran escala", tesis doctoral, Departamento de Ciencias de la Computación, Universidad de Stanford, noviembre de 2001.
  12. ^ Najork, Marc y Janet L. Wiener. "El rastreo en amplitud produce páginas de alta calidad". Archivado el 24 de diciembre de 2017 en Wayback Machine. En: Actas de la Décima Conferencia sobre la World Wide Web , páginas 114-118, Hong Kong, mayo de 2001. Elsevier Science.
  13. ^ Abiteboul, Serge; Mihai Preda; Gregory Cobena (2003). "Cálculo adaptativo de la importancia de las páginas en línea". Actas de la 12.ª conferencia internacional sobre la World Wide Web . Budapest, Hungría: ACM. pp. 280–290. doi :10.1145/775152.775192. ISBN . 1-58113-680-3. Recuperado el 22 de marzo de 2009 .
  14. ^ Boldi, Paolo; Bruno Codenotti; Massimo Santini; Sebastiano Vigna (2004). "UbiCrawler: un rastreador web escalable y totalmente distribuido" (PDF) . Software: práctica y experiencia . 34 (8): 711–726. CiteSeerX 10.1.1.2.5538 . doi :10.1002/spe.587. S2CID  325714. Archivado desde el original (PDF) el 20 de marzo de 2009. Consultado el 23 de marzo de 2009 . 
  15. ^ Boldi, Paolo; Massimo Santini; Sebastiano Vigna (2004). "Haz lo peor para hacer lo mejor: efectos paradójicos en los cálculos incrementales de PageRank" (PDF) . Algoritmos y modelos para el Web-Graph . Apuntes de clase en informática. Vol. 3243. págs. 168–180. doi :10.1007/978-3-540-30216-2_14. ISBN . 978-3-540-23427-2. Archivado desde el original (PDF) el 1 de octubre de 2005 . Consultado el 23 de marzo de 2009 .
  16. ^ Baeza-Yates, R.; Castillo, C.; Marin, M. y Rodriguez, A. (2005). "Rastreando un país: mejores estrategias que la de la amplitud para ordenar páginas web". En: Actas del grupo de trabajo de Experiencia industrial y práctica de la 14.ª conferencia sobre la World Wide Web , páginas 864–872, Chiba, Japón. ACM Press.
  17. ^ Shervin Daneshpajouh, Mojtaba Mohammadi Nasiri, Mohammad Ghodsi, Un algoritmo rápido basado en la comunidad para generar un conjunto de semillas de rastreadores. En: Actas de la 4.ª Conferencia internacional sobre sistemas y tecnologías de información web ( Webist -2008), Funchal, Portugal, mayo de 2008.
  18. ^ Pant, Gautam; Srinivasan, Padmini; Menczer, Filippo (2004). "Rastreando la Web" (PDF) . En Levene, Mark; Poulovassilis, Alexandra (eds.). Dinámica web: adaptación a los cambios en contenido, tamaño, topología y uso . Springer. págs. 153–178. ISBN. 978-3-540-40676-1. Archivado desde el original (PDF) el 20 de marzo de 2009 . Consultado el 9 de mayo de 2006 .
  19. ^ Cothey, Viv (2004). "Fiabilidad del rastreo web" (PDF) . Revista de la Sociedad Estadounidense de Ciencias de la Información y Tecnología . 55 (14): 1228–1238. CiteSeerX 10.1.1.117.185 . doi :10.1002/asi.20078. 
  20. ^ Menczer, F. (1997). ARACHNID: Agentes de recuperación adaptativos que eligen vecindarios heurísticos para el descubrimiento de información Archivado el 21 de diciembre de 2012 en Wayback Machine . En D. Fisher, ed., Machine Learning: Proceedings of the 14th International Conference (ICML97). Morgan Kaufmann
  21. ^ Menczer, F. y Belew, RK (1998). Agentes de información adaptativos en entornos textuales distribuidos Archivado el 21 de diciembre de 2012 en Wayback Machine . En K. Sycara y M. Wooldridge (eds.) Proc. 2nd Intl. Conf. on Autonomous Agents (Agents '98). ACM Press
  22. ^ Chakrabarti, Soumen; Van Den Berg, Martin; Dom, Byron (1999). "Rastreo enfocado: un nuevo enfoque para el descubrimiento de recursos web específicos de cada tema" (PDF) . Redes de computadoras . 31 (11–16): 1623–1640. doi :10.1016/s1389-1286(99)00052-3. Archivado desde el original (PDF) el 17 de marzo de 2004.
  23. ^ Pinkerton, B. (1994). Encontrar lo que la gente quiere: experiencias con WebCrawler. En Actas de la Primera Conferencia Mundial sobre la Web, Ginebra, Suiza.
  24. ^ Diligenti, M., Coetzee, F., Lawrence, S., Giles, CL y Gori, M. (2000). Rastreo enfocado mediante gráficos de contexto. En Actas de la 26.ª Conferencia internacional sobre bases de datos de gran tamaño (VLDB), páginas 527-534, El Cairo, Egipto.
  25. ^ Wu, Jian; Teregowda, Pradeep; Khabsa, Madian; Carman, Stephen; Jordan, Douglas; San Pedro Wandelmer, Jose; Lu, Xin; Mitra, Prasenjit; Giles, C. Lee (2012). "Web crawler middleware for search engine digital library". Actas del duodécimo taller internacional sobre información web y gestión de datos - WIDM '12 . p. 57. doi :10.1145/2389936.2389949. ISBN 9781450317207.S2CID 18513666  .
  26. ^ Wu, Jian; Teregowda, Pradeep; Ramírez, Juan Pablo Fernández; Mitra, Prasenjit; Zheng, Shuyi; Giles, C. Lee (2012). "La evolución de una estrategia de rastreo para un motor de búsqueda de documentos académicos". Actas de la 3.ª Conferencia Anual de Ciencia Web de la ACM sobre Web Sci '12 . págs. 340–343. doi :10.1145/2380718.2380762. ISBN 9781450312288.S2CID16718130  .
  27. ^ Dong, Hai; Hussain, Farookh Khadeer; Chang, Elizabeth (2009). "Estado del arte en rastreadores centrados en la semántica". Ciencia computacional y sus aplicaciones – ICCSA 2009 . Apuntes de clase en informática. Vol. 5593. págs. 910–924. doi :10.1007/978-3-642-02457-3_74. hdl :20.500.11937/48288. ISBN 978-3-642-02456-6.
  28. ^ Dong, Hai; Hussain, Farookh Khadeer (2013). "SOF: un rastreador centrado en el aprendizaje de ontologías semisupervisado". Concurrencia y computación: práctica y experiencia . 25 (12): 1755–1770. doi :10.1002/cpe.2980. S2CID  205690364.
  29. ^ Junghoo Cho; Hector Garcia-Molina (2000). "Sincronización de una base de datos para mejorar la frescura" (PDF) . Actas de la conferencia internacional ACM SIGMOD de 2000 sobre gestión de datos . Dallas, Texas, Estados Unidos: ACM. pp. 117–128. doi :10.1145/342009.335391. ISBN . 1-58113-217-4. Recuperado el 23 de marzo de 2009 .
  30. ^ ab EG Coffman Jr; Zhen Liu; Richard R. Weber (1998). "Programación óptima de robots para motores de búsqueda web". Journal of Scheduling . 1 (1): 15–29. CiteSeerX 10.1.1.36.6087 . doi :10.1002/(SICI)1099-1425(199806)1:1<15::AID-JOS3>3.0.CO;2-K. 
  31. ^ ab Cho, Junghoo; Garcia-Molina, Hector (2003). "Políticas de actualización de página efectivas para rastreadores web". ACM Transactions on Database Systems . 28 (4): 390–426. doi :10.1145/958942.958945. S2CID  147958.
  32. ^ ab Junghoo Cho; Hector Garcia-Molina (2003). "Estimación de la frecuencia de cambio". ACM Transactions on Internet Technology . 3 (3): 256–290. CiteSeerX 10.1.1.59.5877 . doi :10.1145/857166.857170. S2CID  9362566. 
  33. ^ Ipeirotis, P., Ntoulas, A., Cho, J., Gravano, L. (2005) Modelado y gestión de cambios de contenido en bases de datos de texto Archivado el 5 de septiembre de 2005 en Wayback Machine . En Actas de la 21.ª Conferencia Internacional IEEE sobre Ingeniería de Datos, páginas 606-617, abril de 2005, Tokio.
  34. ^ Koster, M. (1995). Robots en la web: ¿amenaza o amenaza? ConneXions, 9(4).
  35. ^ Koster, M. (1996). Un estándar para la exclusión de robots Archivado el 7 de noviembre de 2007 en Wayback Machine .
  36. ^ Koster, M. (1993). Pautas para escritores de robots Archivado el 22 de abril de 2005 en Wayback Machine .
  37. ^ Baeza-Yates, R. y Castillo, C. (2002). Balance de volumen, calidad y frescura en el rastreo web. En Soft Computing Systems – Diseño, Gestión y Aplicaciones, páginas 565–572, Santiago, Chile. IOS Press Amsterdam.
  38. ^ Heydon, Allan; Najork, Marc (26 de junio de 1999). "Mercator: A Scalable, Extensible Web Crawler" (PDF) . Archivado desde el original (PDF) el 19 de febrero de 2006. Consultado el 22 de marzo de 2009 . {{cite journal}}: Requiere citar revista |journal=( ayuda )
  39. ^ Dill, S.; Kumar, R.; Mccurley, KS; Rajagopalan, S.; Sivakumar, D.; Tomkins, A. (2002). "Autosimilitud en la web" (PDF) . ACM Transactions on Internet Technology . 2 (3): 205–223. doi :10.1145/572326.572328. S2CID  6416041.
  40. ^ M. Thelwall; D. Stuart (2006). "Revisión de la ética del rastreo web: costo, privacidad y denegación de servicio". Revista de la Sociedad Estadounidense de Ciencias de la Información y Tecnología . 57 (13): 1771–1779. doi :10.1002/asi.20388.
  41. ^ Brin, Sergey; Page, Lawrence (1998). "La anatomía de un motor de búsqueda web hipertextual a gran escala". Redes informáticas y sistemas RDSI . 30 (1–7): 107–117. doi :10.1016/s0169-7552(98)00110-x. S2CID  7587743.
  42. ^ Shkapenyuk, V. y Suel, T. (2002). Diseño e implementación de un rastreador web distribuido de alto rendimiento. En Actas de la 18.ª Conferencia Internacional sobre Ingeniería de Datos (ICDE), páginas 357-368, San José, California. IEEE CS Press.
  43. ^ Shestakov, Denis (2008). Interfaces de búsqueda en la Web: consulta y caracterización Archivado el 6 de julio de 2014 en Wayback Machine . Tesis doctorales de TUCS 104, Universidad de Turku
  44. ^ Michael L Nelson; Herbert Van de Sompel; Xiaoming Liu; Terry L Harrison; Nathan McFarland (24 de marzo de 2005). "mod_oai: Un módulo Apache para la recolección de metadatos": cs/0503069. arXiv : cs/0503069 . Bibcode :2005cs........3069N. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  45. ^ Shestakov, Denis; Bhowmick, Sourav S.; Lim, Ee-Peng (2005). "DEQUE: Consultas en la Web profunda" (PDF) . Ingeniería de datos y conocimiento . 52 (3): 273–311. doi :10.1016/s0169-023x(04)00107-7.
  46. ^ "Rastreo AJAX: Guía para webmasters y desarrolladores" . Consultado el 17 de marzo de 2013 .
  47. ^ ITA Labs "Adquisición de ITA Labs" Archivado el 18 de marzo de 2014 en Wayback Machine 20 de abril de 2011 1:28 a. m.
  48. ^ "Acerca de Applebot". Apple Inc. Consultado el 18 de octubre de 2021 .
  49. ^ Norton, Quinn (25 de enero de 2007). "Los recaudadores de impuestos envían a las arañas". Negocios. Wired . Archivado desde el original el 22 de diciembre de 2016. Consultado el 13 de octubre de 2017 .
  50. ^ "Iniciativa de rastreo web Xenon: resumen de la evaluación del impacto sobre la privacidad (PIA)". Ottawa: Gobierno de Canadá. 11 de abril de 2017. Archivado desde el original el 25 de septiembre de 2017 . Consultado el 13 de octubre de 2017 .

Lectura adicional

  • Cho, Junghoo, "Proyecto de rastreo web", Departamento de Ciencias de la Computación de la UCLA.
  • Una historia de los motores de búsqueda, de Wiley
  • WIVET es un proyecto de evaluación comparativa de OWASP , que tiene como objetivo medir si un rastreador web puede identificar todos los hipervínculos en un sitio web de destino.
  • Shestakov, Denis, "Desafíos actuales en el rastreo web" y "Rastreo web inteligente", diapositivas para tutoriales impartidos en ICWE'13 y WI-IAT'13.
Obtenido de "https://es.wikipedia.org/w/index.php?title=Web_crawler&oldid=1249807868"