Arquitectura de rastreadores web
(velog.io)-
Hasta ahora, la mayoría de los llamados rastreadores web que se han presentado innumerables veces en internet son en realidad "scrapers", y es difícil llamarlos rastreadores propiamente dichos.
-
El autor presenta brevemente artículos que definen qué es un rastreador web.
-
Un rastreador es una aplicación que recorre el mundo de internet con BFS y DFS.
-
Las reglas para robots son un tema muy importante, al punto de poder determinar la imagen de una empresa, pero todavía hay muchas startups que no lo saben.
4 comentarios
El año pasado también leí un texto de esta persona y pensé por qué vivía con una actitud tan torcida; no sé si al menos habrá mejorado un poco.
Si lo vemos de forma realista, a menos que seas de una gran empresa que literalmente opera motores de búsqueda...
Incluso si se usa un crawler, en el caso de la minería de texto, si no es en inglés, el costo de preprocesamiento es alto, así que con un crawler de ese tipo es difícil sacar datos de buena calidad; y en el campo del procesamiento de imágenes, ya hay datasets de buena calidad por todas partes, así que no hay motivo para operar un crawler a propósito. No es que teniendo una teoría tan buena, los scrapers dominen por casualidad. Simplemente es porque el valor de lo que se obtiene, después de tanto esfuerzo, es bajo.
Eso que esa persona llama un crawler completo podrá sonar bien en teoría, pero al final no pasa de extraer datos con una probabilidad un poco más alta, así que hoy en día es un lujo inútil para usarlo en inteligencia artificial y campos similares. El costo de mantenimiento no es bajo, los datos extraídos no son completos, es difícil de administrar y además hay muchos problemas legales. Para una persona o una empresa, en vez de considerar hasta esos problemas, resulta más económico simplemente correr unos cuantos scrapers sobre sitios grandes. Un solo scraper de un sitio grande, bien analizado y bien construido, es cientos o miles de veces más económico y cómodo que andar entrando a 10 mil sitios inútiles. Operar un solo crawler de forma amplia y "bien" ya es difícil incluso aunque se le peguen personas con maestría y doctorado. Y si además hay que monitorear el crawler y modificar la lógica, sería todavía más terrible. Solo los logs ya serían enormes, así que hasta eso habría que procesarlo de forma distribuida.
Por supuesto, coincido totalmente en que los crawlers son una base fundamental y algo importante, pero no sé si hacía falta insistir en esa idea durante todo un año mientras hacía una división de categorías con los scrapers.
Incluso ahora no entiendo por qué esa persona menosprecia Scrapy. Al menos en opciones y extensiones, tendrá muchísimas más que gocolly.
Bueno, dependerá de la perspectiva de cada quien, pero yo también trabajo en un equipo de recolección de big data, así que dejo mi humilde opinión.
Estoy de acuerdo.
Como todavía parece ser un texto inconcluso, hay varias partes donde da la impresión de que faltan contenidos que deberían estar ahí.
En medio, cuando se menciona en la programación de revisitas [Lambda Crawl], ¿se refiere al artículo Effective Page Refresh Policies For Web Crawlers? Si buscas con esa palabra clave, lo único que aparece son montones de historias sobre rastrear con Lambda, el servicio serverless de AWS, y cosas por el estilo. Pero en la lista de referencias de abajo, ese artículo no parece figurar…
http://ilpubs.stanford.edu:8090/604/1/2003-44.pdf
Parece que aparece en ese artículo, Tractable near-optimal policies for crawling