Rastreador web
Un rastreador web, a veces llamado araña o robot araña y a menudo abreviado como rastreador, es un bot que navega sistemáticamente en la World Wide Web y que normalmente es operado por motores de búsqueda con el propósito de indexación web (web spidering).
Los motores de búsqueda web y algunos otros sitios web utilizan software de rastreo o rastreo web para actualizar su contenido web o índices de otros sitios' contenido web. Los rastreadores web copian páginas para que las procese un motor de búsqueda, que indexa las páginas descargadas para que los usuarios puedan buscar de manera más eficiente.
Los rastreadores consumen recursos en los sistemas visitados y, a menudo, visitan sitios sin que se les solicite. Cuestiones de horario, carga y "cortesía" entran en juego cuando se accede a grandes colecciones de páginas. Existen mecanismos para que los sitios públicos que no deseen ser rastreados se lo hagan saber al agente rastreador. Por ejemplo, incluir un archivo robots.txt
puede solicitar a los bots que indexen solo partes de un sitio web, o nada en absoluto.
El número de páginas de Internet es extremadamente grande; incluso los rastreadores más grandes no logran hacer un índice completo. Por esta razón, los motores de búsqueda se esforzaron por brindar resultados de búsqueda relevantes en los primeros años de la World Wide Web, antes del 2000. Hoy en día, los resultados relevantes se brindan casi instantáneamente.
Los rastreadores pueden validar hipervínculos y código HTML. También se pueden usar para web scraping y programación basada en datos.
Nomenclatura
Un rastreador web también se conoce como araña, hormiga, indexador automático o (en el contexto del software FOAF) Cortador web.
Resumen
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, denominada frontera de rastreo.. Las URL de la frontera se visitan recursivamente de acuerdo con un conjunto de políticas. Si el rastreador realiza el archivo de sitios web (o el archivo web), copia y guarda la información a medida que avanza. Los archivos generalmente se almacenan de tal manera que se pueden ver, leer y navegar como si estuvieran en la web en vivo, pero se conservan como 'instantáneas'.
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 almacene 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.
El gran volumen implica que el rastreador solo puede descargar un número limitado de páginas web en un tiempo determinado, por lo que debe priorizar sus descargas. La alta tasa de cambio puede implicar que las páginas ya se hayan actualizado o incluso eliminado.
La cantidad de posibles URL rastreadas generadas por 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 los cuales solo una pequeña selección devolverá contenido único. Por ejemplo, una simple galería de fotos en línea puede ofrecer tres opciones a los usuarios, como se especifica a través de los 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 vincularse en el sitio. Esta combinación matemática crea un problema para los rastreadores, ya que deben clasificar infinitas combinaciones de cambios relativamente menores en el guión para recuperar contenido único.
Como señaló Edwards et al., "Dado que el ancho de banda para realizar rastreos no es infinito ni gratuito, se está volviendo esencial rastrear la Web no solo de forma escalable, sino también eficiente. manera, si se va a mantener una medida razonable de calidad o frescura." 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:
- a Política de selección que indica las páginas para descargar,
- a revisit policy que indica cuándo buscar cambios en las páginas,
- a política de policía que indica cómo evitar sobrecargar sitios Web.
- a Política de paralización que indica cómo coordinar los rastreadores web distribuidos.
Política de selección
Dado el tamaño actual de la Web, incluso los grandes motores de búsqueda cubren solo 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; un estudio anterior realizado por Steve Lawrence y Lee Giles mostró que ningún motor de búsqueda indexó más del 16% de la Web en 1999. Dado que un rastreador siempre descarga solo una fracción de las páginas Web, es muy deseable que la fracción descargada contenga la mayor cantidad de páginas web. páginas relevantes y no solo una muestra aleatoria de la Web.
Esto requiere una métrica importante para priorizar las páginas web. La importancia de una página está en 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 buscadores verticales restringidos a un único dominio de primer nivel, o 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 dominio stanford.edu, en el que se realizó una simulación de rastreo con diferentes estrategias. Las métricas de pedido probadas fueron cálculos de PageRank parciales y recuento de backlinks primero en amplitud. Una de las conclusiones fue que si el rastreador desea descargar páginas con alto Pagerank al principio del proceso de rastreo, entonces la estrategia de Pagerank parcial es mejor, seguida por la de ancho primero y el recuento de backlinks. Sin embargo, estos resultados son para un solo dominio. Cho también escribió su tesis doctoral en Stanford sobre rastreo web.
Najork y Wiener realizaron un rastreo real en 328 millones de páginas, usando el orden primero en amplitud. Descubrieron que un rastreo primero en amplitud captura páginas con alto Pagerank al principio del rastreo (pero no compararon esta estrategia con otras estrategias). La explicación dada por 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 pronto, independientemente del host o la página en la que se origine el rastreo."
Abiteboul diseñó una estrategia de rastreo basada en un algoritmo llamado OPIC (Cálculo de la importancia de la página en línea). En OPIC, cada página recibe una suma inicial de "efectivo" 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 solo se realiza en un paso. Un rastreador impulsado por OPIC descarga primero las páginas en 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 enlaces de entrada según la ley de potencias. Sin embargo, no hubo comparación con otras estrategias ni experimentos en la Web real.
Boldi et al. utilizó la simulación en subconjuntos de la Web de 40 millones de páginas del dominio .it y 100 millones de páginas del rastreo de WebBase, probando primero en amplitud contra la profundidad primero, el orden aleatorio y una estrategia omnisciente. La comparación se basó en qué tan bien el PageRank calculado en un rastreo parcial se aproxima al valor real del PageRank. Sorprendentemente, algunas visitas que acumulan PageRank muy rápidamente (en particular, la visita omnisciente y la visita en amplitud) brindan aproximaciones progresivas muy deficientes.
Baeza-Yates et al. utilizaron 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 usa la longitud de las colas por sitio son mejores que el rastreo primero en amplitud, y que también es muy efectivo usar un rastreo anterior, cuando está disponible, para guiar el rastreo actual. uno.
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 a partir de semillas aleatorias. Uno puede extraer una buena semilla de un gráfico web previamente rastreado utilizando este nuevo método. Usando estas semillas, un nuevo rastreo puede ser muy efectivo.
Restringir enlaces seguidos
Es posible que un rastreador solo desee buscar páginas HTML y evitar todos los demás tipos de MIME. Para solicitar solo recursos HTML, un rastreador puede realizar una solicitud HTTP HEAD 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 determinados caracteres, como.html,.htm,.asp,.aspx,.php,.jsp,.jspx o una barra oblicua.. Esta estrategia puede provocar que se omitan involuntariamente numerosos recursos web HTML.
Algunos rastreadores también pueden evitar solicitar cualquier recurso que tenga un "?" en ellos (se producen dinámicamente) para evitar trampas de araña 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 simplificar sus URL.
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 canonicalización de URL, se refiere al proceso de modificar y estandarizar una URL de manera coherente. Hay varios tipos de normalización que se pueden realizar, incluida la conversión de URL a minúsculas, la eliminación de "." y ".." segmentos y agregando barras inclinadas finales al componente de ruta no vacía.
Rastreo de ruta ascendente
Algunos rastreadores intentan descargar/cargar tantos recursos como sea posible desde un sitio web en particular. Por lo tanto, se introdujo el rastreador de ruta ascendente que ascendería a cada ruta en cada URL que intenta rastrear. Por ejemplo, cuando se le proporciona una URL inicial 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 el rastreo regular.
Rastreo enfocado
La importancia de una página para un rastreador también se puede expresar en función de la similitud de una página con una consulta determinada. Los rastreadores web que intentan descargar páginas que son similares entre sí se denominan rastreadores enfocados o rastreadores temáticos. Filippo Menczer y Soumen Chakrabarti et al. introdujeron por primera vez los conceptos de rastreo tópico y enfocado.
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; este fue el enfoque adoptado por Pinkerton en el primer rastreador web de los primeros días de la Web. Diligenti et al. propone 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 principalmente de la riqueza de enlaces en el tema específico que se busca, y un rastreo enfocado generalmente se basa en un motor de búsqueda web general para proporcionar puntos de partida.
Rastreador centrado en lo académico
Un ejemplo de los rastreadores enfocados son los rastreadores académicos, que rastrean documentos académicos de libre acceso, como el citeseerxbot, que es el rastreador del motor de búsqueda CiteSeerX.. Otros motores de búsqueda académicos son Google Scholar y Microsoft Academic Search, etc. Debido a que la mayoría de los trabajos académicos se publican en formato 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 de MIME, o se usa un middleware para extraer estos documentos e importarlos a la base de datos y el repositorio de rastreo enfocado. 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 posterior al rastreo utilizando aprendizaje automático o algoritmos de expresión regular. Estos documentos académicos generalmente se obtienen de las páginas de inicio de las facultades y estudiantes o de la página de publicación de los institutos de investigación. Debido a que los documentos académicos constituyen solo una pequeña fracción de todas las páginas web, una buena selección de semillas es importante para aumentar la eficiencia de estos rastreadores web. Otros rastreadores académicos pueden descargar archivos de texto sin formato y HTML que contienen metadatos de artículos académicos, como títulos, artículos y resúmenes. Esto aumenta el número total de documentos, pero es posible que una fracción significativa no proporcione descargas gratuitas de PDF.
Rastreador centrado en la semántica
Otro tipo de rastreadores centrados es el rastreador centrado en la semántica, que utiliza 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. Además, las ontologías se pueden actualizar automáticamente en el proceso de rastreo. Dong et al. presentó un rastreador basado en el aprendizaje de ontologías utilizando una máquina de vectores de soporte para actualizar el contenido de los 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 la Web puede llevar semanas o meses. En el momento en que un rastreador web haya terminado su rastreo, podrían haber ocurrido muchos eventos, incluidas creaciones, actualizaciones y eliminaciones.
Desde el punto de vista del motor de búsqueda, hay un costo asociado con 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 edad.
Frescura: esta es una medida binaria que indica si la copia local es precisa o no. La frescura de una página p en el repositorio en el tiempo t se define como:
- Fp()t)={}1ifpisequaltothelocalcopSí.attimet0otherwise{displaystyle F_{p}(t)={begin{cases}1 {if}~p~{rm} {cH00} {} {} {otros}end {cases}}}
Edad: esta es una medida que indica qué tan desactualizada está la copia local. La edad de una página p en el repositorio, en el tiempo t se define como:
- Ap()t)={}0ifpisnotmodifiedattimett− − modificationtimeofpotherwise{displaystyle A_{p}(t)={begin{cases}0 {if}~p~{rm} No está modificado. ################################################################################################################################################################################################################################################################ {otros}end {cases}}}
Coffman et al. trabajaron con una definición del objetivo de un rastreador web que es equivalente a la frescura, pero usan una redacción diferente: proponen que un rastreador debe minimizar la fracción de tiempo que las páginas permanecen anticuado. También señalaron 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 a un solo sitio web. Según este modelo, el tiempo medio de espera de un cliente en el sistema de votación es equivalente a la edad media del rastreador web.
El objetivo del rastreador es mantener la actualización 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.
Cho y García-Molina estudiaron dos políticas simples de revisión:
- Uniform policy: Esto implica revisitar todas las páginas de la colección con la misma frecuencia, independientemente de sus tasas de cambio.
- Política proporcional: Esto implica re-visitar más a menudo las páginas que cambian con más frecuencia. La frecuencia de visita es directamente proporcional a la frecuencia de cambio (estimada).
En ambos casos, el orden de rastreo repetido de las 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 web simulada como en un rastreo web real. Intuitivamente, el razonamiento es que, dado que 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 actualizar las páginas con menos frecuencia, y (2) la frescura de las páginas que cambian rápidamente dura menos tiempo que la de las páginas que cambian con menos 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 actualización general de ellas.
Para mejorar la frescura, el rastreador debe penalizar los elementos que cambian con demasiada frecuencia. La política óptima de revisión 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 método óptimo para mantener baja la antigüedad promedio es usar frecuencias de acceso que aumenten de manera monótona (y sublineal) con la tasa de cambio de cada página. En ambos casos, el óptimo está más cerca de la política uniforme que de la política proporcional: como señalan Coffman et al., "para minimizar el tiempo de obsolescencia esperado, los accesos a cualquier la página debe mantenerse lo más uniformemente espaciada posible". Las fórmulas explícitas para la política de revisita 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 adecuada para describir los cambios de página, mientras que Ipeirotis et al. muestran cómo usar herramientas estadísticas para descubrir parámetros que afectan esta distribución. Tenga en cuenta que las políticas de revisión consideradas aquí consideran que todas las páginas son homogéneas en términos de calidad ("todas las páginas en la Web valen lo mismo"), algo que no es un escenario realista, así que más información sobre el Se debe incluir 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 y/o descarga archivos de gran tamaño, un servidor puede tener dificultades para mantenerse al día con las solicitudes de varios rastreadores.
Como señaló Koster, el uso de rastreadores web es útil para varias tareas, pero tiene un precio para la comunidad en general. Los costos de usar rastreadores web incluyen:
- los 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 dado es demasiado alta;
- mal escritos rastreadores, que pueden estrellar servidores o routers, o que descargan páginas que no pueden manejar; y
- rastreadores personales que, si son desplegados por demasiados usuarios, pueden interrumpir redes y 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. 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, motores de búsqueda comerciales como Google, Ask Jeeves, MSN y Yahoo! La búsqueda puede usar un "retraso de rastreo:" parámetro en el archivo robots.txt para indicar la cantidad de segundos de retraso entre las solicitudes.
El primer intervalo propuesto entre cargas de página sucesivas fue de 60 segundos. Sin embargo, si las páginas se descargaran a este ritmo desde un sitio web con más de 100.000 páginas en una conexión perfecta con latencia cero y ancho de banda infinito, tomaría más de 2 meses descargar solo ese sitio web completo; además, solo se utilizaría una fracción de los recursos de ese servidor web. Esto no parece aceptable.
Cho usa 10 segundos como intervalo para los accesos, y el rastreador WIRE usa 15 segundos como predeterminado. El rastreador de MercatorWeb sigue una política de cortesía adaptativa: si tardó t segundos en descargar un documento de un servidor determinado, el rastreador espera 10t segundos antes de descargar la página siguiente. Dill et al. usa 1 segundo.
Para aquellos que usan rastreadores web con fines de investigación, se necesita un análisis de costo-beneficio más detallado y se deben tener en cuenta consideraciones éticas al decidir dónde rastrear y qué tan rápido rastrear.
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 o 4 minutos. Vale la pena notar que aún siendo muy cortés y tomando todas las precauciones para evitar sobrecargar los servidores Web, se reciben algunas quejas de los administradores del servidor Web. Brin y Page señalan que: "... ejecutar un rastreador que se conecta a más de medio millón de servidores (...) genera una buena cantidad de correos electrónicos y llamadas telefónicas. Debido a la gran cantidad de personas que se conectan, siempre hay quienes no saben qué es un rastreador, porque es el primero que ven."
Política de paralelización
Un rastreador paralelo es un rastreador que ejecuta varios procesos en paralelo. El objetivo es maximizar la tasa de descarga y minimizar 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
Un rastreador no solo debe tener una buena estrategia de rastreo, como se indicó en las secciones anteriores, sino que también debe tener una arquitectura altamente optimizada.
Shkapenyuk y Suel señalaron que:
Aunque es bastante fácil construir un rastreador lento que descarga unas pocas páginas por segundo durante un corto período de tiempo, la construcción de un sistema de alto rendimiento que puede descargar cientos de millones de páginas durante varias semanas presenta una serie de desafíos en el diseño del sistema, I/O y eficiencia de la red, y robustez y manejabilidad.
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 diseños de rastreadores, a menudo hay una importante falta de detalles que impide que otros reproduzcan el trabajo. También están surgiendo preocupaciones sobre el "spam en 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 se indexen de la manera más amplia posible para tener una fuerte presencia en los motores de búsqueda, el rastreo web también puede tener consecuencias no deseadas y dar lugar a un compromiso o una filtración de datos si un motor de búsqueda indexa recursos que no debe estar disponible públicamente, ni páginas que revelen 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 la piratería oportunista al permitir que los motores de búsqueda indexen solo las partes públicas de sus sitios web (con robots.txt) y bloquearlos explícitamente para que no indexen partes transaccionales (páginas de inicio de sesión, páginas privadas, etc.).
Identificación del rastreador
Los rastreadores web suelen identificarse ante un servidor web mediante el campo de agente de usuario de una solicitud HTTP. Los administradores de sitios web normalmente examinan sus servidores web' log y use el campo de agente de usuario para determinar qué rastreadores han visitado el servidor web y con qué frecuencia. El campo de agente de usuario puede incluir una URL donde 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 spambots y otros rastreadores web maliciosos coloquen información de identificación en el campo del agente de usuario, 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 ponerse en contacto con el propietario si es necesario. En algunos casos, los rastreadores pueden quedar atrapados accidentalmente en una trampa de rastreador o pueden estar sobrecargando un servidor web con solicitudes y el propietario debe detener el rastreador. La identificación también es útil para los administradores que están interesados en saber cuándo pueden esperar que sus páginas web sean indexadas por un motor de búsqueda en particular.
Rastreando la web profunda
Una gran cantidad de páginas web se encuentran en la web profunda o invisible. Por lo general, solo se puede acceder a estas páginas enviando consultas a una base de datos, y los rastreadores regulares no pueden encontrar estas páginas si no hay enlaces que apunten a ellas. El protocolo Sitemaps de Google y el mod oai están destinados a permitir el descubrimiento de estos recursos de la Web profunda.
El rastreo web profundo también multiplica la cantidad de enlaces web que se rastrean. Algunos rastreadores solo toman algunas de las URL en formato <a href="URL">
. En algunos casos, como el robot de Google, el rastreo web se realiza en todo el texto contenido dentro del contenido de hipertexto, las etiquetas o el texto.
Se pueden tomar enfoques estratégicos para orientar el contenido de la Web profunda. Con una técnica llamada raspado de pantalla, el software especializado se puede personalizar para consultar automática y repetidamente un formulario web determinado con la intención de agregar los datos resultantes. Dicho software se puede utilizar para abarcar múltiples formularios web en múltiples 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í la continuidad en la Deep Web de una manera que no es posible con los rastreadores web tradicionales.
Las páginas creadas en AJAX se encuentran entre las que causan problemas a los rastreadores web. Google ha propuesto un formato de llamadas AJAX que su bot puede reconocer e indexar.
Rastreadores visuales vs programáticos
Hay una serie de "rastreador/rastreador web visual" productos disponibles en la web que rastrearán páginas y estructurarán 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 capacidad de programación requerido para configurar un rastreador. La última generación de "raspadores visuales" elimine la mayoría de las habilidades de programación necesarias para poder programar e iniciar un rastreo para recopilar datos web.
El método de raspado/rastreo visual se basa en que el usuario "enseña" una pieza de tecnología de rastreo, 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), existe un crecimiento e inversión continuos en esta área por parte de inversores y usuarios finales.
Lista de rastreadores web
La siguiente es una lista de arquitecturas de rastreadores publicadas para rastreadores de propósito general (excluyendo rastreadores web enfocados), con una breve descripción que incluye los nombres dados a los diferentes componentes y características sobresalientes:
Rastreadores web históricos
- World Wide Web Worm era un rastreador utilizado para construir un índice simple de títulos de documentos y URLs. El índice podría ser buscado utilizando el Grip Comando Unix.
- ¡Yahoo! ¡Slurp era el nombre del Yahoo! Buscador hasta Yahoo! contratado con Microsoft para usar Bingbot en su lugar.
Rastreadores web internos
- Applebot es el rastreador web de Apple. Es compatible con Siri y otros productos.
- Bingbot es el nombre del webcrawler de Microsoft. Sustituyó Msnbot.
- Baiduspider es el rastreador web de Baidu.
- Googlebot se describe en cierto detalle, pero la referencia es sólo sobre una versión temprana de su arquitectura, que fue escrita en C++ y Python. El rastreador se integró con el proceso de indexación, ya que 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 URL que envía listas de URLs para ser capturadas por varios procesos de rastreo. Durante el examen, las URL encontradas se pasaron a un servidor URL que comprobó si la URL se había visto previamente. Si no, la URL se agregó a la cola del servidor URL.
- WebCrawler fue utilizado para construir 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 URLs para la exploración de la primera parte del gráfico Web. También incluyó un rastreador en tiempo real que siguió enlaces basados en la similitud del texto del ancla con la consulta proporcionada.
- WebFountain es un rastreador modular distribuido similar al Mercator pero escrito en C++.
- Xenon es un rastreador web utilizado por las autoridades fiscales del gobierno para detectar fraude.
Rastreadores web comerciales
Los siguientes rastreadores web están disponibles por un precio:
- Diffbot - rastreador web general programático, disponible como API
- SortSite - rastreador para analizar sitios web, disponible para Windows y Mac OS
- Swiftbot - rastreador web de Swiftype, disponible como software como servicio
Rastreadores de código abierto
- GNU Wget es un rastreador operado por línea de comando escrito en C y lanzado bajo la GPL. Normalmente se utiliza para reflejar sitios Web y FTP.
- GRUB fue un rastreador de búsqueda distribuido de código abierto que Wikia Search usó para arrastrar la web.
- Heritrix es el rastreador de calidad de archivo del Archivo de Internet, 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 la visualización fuera de línea. Está escrito en C y publicado bajo la GPL.
- mnoGoSearch es un rastreador, indexador y un motor de búsqueda escrito en C y licenciado bajo la GPL (*NIX máquinas solamente)
- 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.
- Open Search Server es un motor de búsqueda y lanzamiento de software de rastreadores web bajo la GPL.
- Scrapy, un marco webcrawler de código abierto, escrito en python (licensed bajo BSD).
- Seeks, un motor de búsqueda distribuida gratuitamente (licenciado bajo AGPL).
- StormCrawler, una colección de recursos para la construcción de arrastres web escalables en Apache Storm (Apache License).
- tkWWW Robot, un rastreador basado en el navegador web tkWWW (licensed under GPL).
- Xapian, un motor de rastreadores de búsqueda, escrito en c++.
- YaCy, un motor de búsqueda distribuida gratuitamente, basado en principios de redes entre pares (con licencia bajo GPL).
Contenido relacionado
Olimpiada Internacional de Informática
Micro asesino
DECSYSTEM-20