Según una de las definiciones, el análisis es un análisis de información. Para una persona que no está involucrada en las tareas específicas de recopilar y procesar información para proyectos de Internet, esto no significa nada. Y la definición misma, solo en términos generales, indica la enorme cantidad de trabajo que cientos de millones de personas y decenas de millones de robots (aunque virtuales, pero no menos reales) realizan en todo el mundo cada minuto. Pero esta tarea es común para una persona, es decir, al comparar los precios de los boletos en línea, elegir la electrónica adecuada en los sitios de las tiendas ... Al ver los precios y las promociones en la conveniente aplicación móvil del supermercado más cercano a la casa, ninguno de nosotros pensará en llamarse un analizador.

Sin embargo, el análisis empresarial existe, funciona y, por supuesto, es el tema de una discusión animada en muchos niveles de consideración: ético, legal, tecnológico, financiero y no solo.
Este artículo no expresa una opinión definitiva, no da consejos y no revela secretos: aquí solo consideraremos algunas opiniones sobre el ejemplo de los comentarios más interesantes en un
artículo separado sobre análisis (¡50k vistas y más de 400 comentarios!) Sobre Habré, tratándolos desde la perspectiva de experiencia en el análisis de proyectos web. En otras palabras, pasamos mucho tiempo e intentamos reunir y clasificar los comentarios de los lectores más interesantes ... sabiduría mundana, por así decirlo :)
Entonces, sobre el análisis:
"Una cuestión de tecnología". Representantes fantásticos y dónde viven.
Así como la idea de analizar en sí misma es natural (siempre es interesante ver lo que los "vecinos" están haciendo allí), los métodos básicos de su implementación son igual de simples. Si desea saber, pregunte, pero si desea conocer los valores reales de una gran matriz de datos (ya sea el precio de los bienes, sus descripciones, los volúmenes disponibles para ordenar o los descuentos importantes), tendrá que "preguntar" mucho y con frecuencia. Está claro que nunca se le ocurriría a nadie tratar de recopilar estos datos manualmente (a excepción de un gran equipo de niños trabajadores de países del sur que no se inspiraron de la manera más humana), por lo que se utilizan soluciones simples y efectivas en la frente: para "apilar" el sitio, configurar el navegador, recolecte bots y “toque” el sitio objetivo para obtener indicadores de interés, escriba cuidadosamente las respuestas en un “bloc de notas” en un formato conveniente, analice los datos recopilados y repita.
Aquí hay algunos enfoques a la "técnica de análisis" de nuestros lectores y de nosotros:
- "Selenium Farm - ¡Adelante!" (Esto se refiere a los navegadores sin cabeza con una solución tipo BeautifulSoup como Selenium / Splinter). Según nuestro lector, escribió un pequeño sitio en el grupo de enjambre de acopladores a su esposa para monitorear los sitios del vendedor (ella es una importadora) para que no violen la política de RRC / MRC (precios minoristas recomendados). Según el autor, todo funciona de manera estable, la economía de análisis converge: "todos los costos son 4 nodos por $ 3". Es cierto, el orgulloso autor solo tiene alrededor de mil productos y docenas de sitios en análisis, no más :)
- "Lanzamos Chromium y todo está bien, resulta que se puede tomar 1 producto en 4-5 segundos ...". Está claro que ningún administrador se alegrará de la carga saltada en el servidor. El sitio, por supuesto, es para este propósito necesario para proporcionar información a todos aquellos que estén interesados, pero "hay muchos de ustedes, pero estoy solo", por lo tanto, aquellos que están especialmente ansiosos por estar interesados son, por supuesto, ignorados. Bueno, no importa: Chromium viene al rescate; si el navegador está tocando el sitio en el modo "solo pregúntenos", se puede hacer sin esperar en línea. De hecho, en el conjunto general de tareas de análisis, el análisis de páginas html se realiza en el 90% de los casos, y en "casos especialmente difíciles" (cuando los sitios están protegidos activamente, como el mismo Yandex.Market que solicita captcha), es Chromium quien lo maneja.
- "Limpie los servidores proxy con sus propias manos de los enrutadores / módems LTE". Hay formas bastante prácticas de configurar proxies limpios adecuados para analizar motores de búsqueda: una granja de módems 3G / 4G o comprar proxies blancos en lugar de un montón de proxies sucios aleatorios. Es importante qué lenguaje de programación se utiliza para dicho análisis industrial: 300 sitios por día (y la respuesta correcta es .Net! :). De hecho, Internet está lleno de sitios con listas de proxy abiertas, el 50% de las cuales funcionan bastante bien, y no es tan difícil analizar las listas de proxy de estos sitios, y luego analizar otros sitios con su ayuda :)) Bueno, lo hacemos.
- Otro caso a favor de Selenium: “Me analizo a mí mismo (pero no en RuNet, pero recibo pedidos en mi upwork.com favorito, allí generalmente se llama raspado, un término más adecuado, en mi humilde opinión). Tengo una proporción ligeramente diferente, alrededor de 75 a 25. Pero en general, sí, si es pereza o difícil, entonces nadie ha esquivado el selenio :) Pero de varios cientos de sitios con los que tuve que trabajar, nunca llegó a ser reconocido imágenes para obtener datos de destino. Por lo general, si no hay datos en html, siempre se obtienen en algunos json (bueno, en realidad, ya hemos mostrado un ejemplo a continuación).
- "Python Tamers". Y el caso de otro lector: "En mi trabajo anterior usé Python / Scrapy / Splash para más de 180 sitios por día de diferentes tamaños, desde prisma.fi y verkkokauppa.com hasta algunas cositas con 3-5 productos. A finales del año pasado, alquilamos un servidor de Hetzner (https://www.hetzner.com/dedicated-rootserver/ax60-ssd) con Ubuntu Server a bordo. La mayoría de los recursos informáticos aún están inactivos.
- "WebDriver es nuestro todo". Participó en la automatización general (donde el análisis ya cae), lo más confiable posible (tareas de control de calidad). Una buena estación de trabajo, una docena o dos navegadores en paralelo: el resultado es un trillador muy malvado y rápido.
El "conjunto de caballeros" de la flotante: 4 máquinas virtuales, tráfico ilimitado, 4 procesadores en cada uno, 8 GB de memoria, Windows Server ... Hasta ahora, suficiente para cada nuevo lote de 50 sitios condicionalmente: necesita su propia máquina virtual. Pero depende mucho de los sitios en sí. Visual Studio también tiene System.Net, que en realidad usa Internet Explorer instalado en Windows. Funciona tambien
“¿Cómo protegerse (de analizar) en su mente? De ninguna manera, nos arrastraremos de todos modos "
Analizar ideas de negocios, hablar sobre nuestro negocio, nos son constantemente lanzados.
- Emita el análisis de Yandex, al igual que muchos servicios de SEO. “Hay más demanda para esto, más dinero. Es cierto, básicamente venden todo el sistema de análisis SEO ". Pero no analizamos la emisión: no preguntamos, y habrá captcha inmediatamente después de 100 solicitudes, necesitamos proxies limpios, pero son difíciles de conseguir o caros, no es tan rentable ... Por supuesto, está lejos de ser fácil jugar grandes jugadores, y los lectores están con nosotros compártelo (nosotros NO analizamos Google y Yandex). Según la experiencia, Yandex, Google y grandes corporaciones similares tienen una cierta base con subredes de centros de datos (después de todo, las bases de datos proxy se actualizan y los grandes jugadores se suscriben y prohíben). Por lo tanto, la red proxy aumentada en las direcciones IP emitidas a los centros de datos vuela perfectamente a la prohibición con la emisión de captcha y otras peculiaridades. Como resultado, solo hay opciones ilegales con la compra de proxies de los propietarios de botnets y una "suciedad" similar, en cuyo caso tendrá una IP de usuario real. Y aun así, tales corporaciones realmente necesitan que usted haya "establecido" cookies con las que ya se ha "rastreado" durante algún tiempo en sitios donde pueden rastrearlo (por ejemplo, recuentos de visitas). Pero, ¿cómo distinguen los analizadores sintácticos de los NAT en las áreas para dormir? Las 100 solicitudes condicionales no son nada en absoluto.
- Protección contra el análisis: eliminando lo "grande y terrible" de la consideración, nos centraremos en nosotros, "simples mortales". Si hay quienes se dedican al análisis, debe haber quienes intentarán evitar que lo hagan. Es más interesante jugar con personas vivas: aparece un elemento de rivalidad, cada lado intenta burlar al otro. Y, dado que nadie todavía tiene la intención de recopilar información manualmente, juegan quién hará que el bot sea más similar a una persona viva, y quién podrá reconocer estos bots de manera más eficiente mientras continúa respondiendo a las solicitudes de usuarios reales: el sitio está diseñado para ayudar a las empresas , estamos repelidos por esto. Y, permaneciendo dentro del marco de la tarea de eficiencia empresarial, uno no puede dejar de tener en cuenta la asignación razonable de recursos y la rentabilidad de las medidas para, de hecho, analizarla y contrarrestarla:
- No puede protegerse del análisis (excepto de "estudiantes"), pero puede aumentar el umbral para gastar en ello (tanto tiempo como dinero). Como resultado, los datos que protegemos (varias secciones del sitio) son más fáciles de analizar, sino de comprar una base de datos preparada, tal como la compramos. Hay tablas de direcciones IP de analizador en la red, que muestran captcha a esta lista en la entrada no es un problema. Del mismo modo, generar id y clases, como hace mail.ru, tampoco es un problema y no requiere grandes gastos. Un nuevo captcha de Google generalmente determina con mucha precisión si el robot o no. Si hay una sospecha, eliminar al usuario y solicitar un captcha es simple. Al final, nadie ha cancelado el cebo HoneyPot por atrapar el bot. Bueno, clásico, reemplace las letras en el texto, haga máscaras, etc.
- Y aquí nos opondremos a nosotros mismos: quizás, individualmente, todo esto no ayudará, pero todos juntos complicarán tanto su vida que se volverá inoportuna. Además, todas estas técnicas generalmente no requieren grandes gastos. Es cierto que todas estas técnicas cuestan mucho, por lo que, en esencia, no hay protección. Proxys dinámicos, servicios que reconocen captcha por indios y selenio con un algoritmo de acción bien definido. Todo lo que se puede lograr: el desarrollo del analizador costará más, puede asustar a alguien, pero si el sitio objetivo no es un catálogo de una página y media de la oficina local de "Horns and Hooves", entonces pocas personas se asustarán por el aumento de los costos.
- Cuando se defiende, siempre se trata de usar modelos de comportamiento típicos de visitantes reales, además de sistemas que identifiquen adecuadamente los bots "blancos" (Yandex, Google, etc.). Y para adaptarse a un visitante real, necesita conocer un conjunto de mapas de transición estándar. Y luego un simple grupo de proxy cuando el análisis no es suficiente. El sistema no protege al 100%, pero resuelve la tarea: de acuerdo con las estadísticas de visualización, puede comprender cuándo se escaneó todo el sitio. Los analizadores o los motores de búsqueda hacen esto. Pero los motores de búsqueda responden a robots.txt, pero los analizadores no.
"Oh wow. Si todas las personas hicieran todo sabiamente ... Creo que habría 10 veces más desempleados. Suficiente para tu edad.
“¿Vivo ambientalmente? Sí, pero en vano "
- En el plano moral y ético de la consideración del tema se encuentra un punto importante relacionado con los aspectos técnicos y legales del análisis. El archivo robots.txt es conciso en su simplicidad y simbólico en su nombre, que nuestros lectores y nosotros interpretamos de diferentes maneras:
- Su actividad como "conductor" de un bot es "ética" exactamente igual que su bot sigue el archivo robots.txt del sitio que visita. No se basa en suposiciones de la forma "las páginas de productos no se cierran", sino que literalmente imponen permitir y no permitir máscaras en las URL solicitadas. Falta el archivo robots.txt: interprete a su favor; presente, pero usted lo viola; definitivamente, está utilizando el sitio de forma maliciosa. Por supuesto, robots.txt no tiene fuerza de ley, pero si realmente lo “hornea”, no es un hecho que definitivamente pasará por los abogados ”.
- A pesar del hecho de que es imposible negociar con robots, a veces es más fácil que con las personas, porque en las tiendas cuelgan carteles "las fotos están prohibidas", y esto es ilegal. Y poco ético. “Solo una tradición. robots.txt es una técnica. No se trata de ética. Si desea indicar que no desea analizar, haga una sección como esta: account.habr.com/info/agreement. No sé si dicha restricción será legal, pero al menos puedes expresar tus deseos allí en lenguaje humano (o mencionar robots.txt), luego puedes hablar sobre ética ". Nuestros abogados replican: "De ninguna manera esa restricción será legal".
- Pensamos simultáneamente en el análisis y en el uso posterior de la información. “Robots.txt no se trata tanto de analizar, sino de publicar más (por ejemplo, en los resultados de búsqueda). Si desea que nadie reciba los datos, debe limitar el círculo de personas que pueden verlos. Si no tiene cortinas en las ventanas, no debe ir desnudo. Puede ser deliberado mirar por las ventanas y feo, pero sin cortinas, ¿qué afirma?
- Analizar la ética es neutral. Puede ser poco ético usar la información obtenida. En general, puramente desde un punto de vista ético, todos tienen derecho a recibir información pública que no sea privada o de naturaleza especial y que no esté protegida por la ley. Los precios son para información pública segura. Descripciones también. Las descripciones pueden estar sujetas a derechos de autor y no deben publicarse sin permiso. Pero no se viola ninguna ética, incluso si analizo los sitios y hago mi propio sitio público, lo que reflejará la dinámica de los precios y la comparación de los competidores. Incluso es ético, ya que proporciona información socialmente útil ".
- "Las manos se pueden ensamblar, pero el robot no se puede analizar". Cualquier "maldad" con la debida diligencia y habilidad se puede justificar, y analizar aún más, especialmente porque hay ejemplos vivos de cómo se usó en todos los sentidos correctamente, citamos a nuestro lector: "Hace mucho tiempo estuve involucrado en el análisis, pero siempre pregunté hacer un análisis completamente legal y moralmente correcto. Varias veces, los intermediarios solicitaron que se analizara al mayorista (para la venta de sus productos), al mayorista no le importó, pero no iba a invertir en el desarrollo de la API (o no pudo hacerlo por razones técnicas); una vez que un intermediario de una tienda china solicitó la integración, pero allí la API de la tienda china estaba tan jodida y limitada que en parte era necesario obtener el análisis de la información; una vez que el autor y propietario del sitio y el foro quisieron migrar desde un sitio gratuito que "sujetó" la base de datos; también hizo la integración del sitio del concurso literario y su foro, de modo que al agregar una nueva historia, el tema en el foro aparecería automáticamente (por razones técnicas no podría hacerse de otra manera) ".
“¿Fue llamado el abogado? La cita no se puede analizar "
Independientemente del lado que elija para determinar la fuente de poder: dinero o verdad, una cosa está clara: cuando el dinero comienza a encontrarse, encontrar la verdad se vuelve cada vez más difícil. Al debatir sobre la posibilidad de adquirir todo y todo para el "den.znaki", incluida la propia ley y sus representantes, más allá del alcance de este artículo, consideraremos algunos aspectos legales planteados en los comentarios:
- "De espiar al robo es un paso". Incluso si todo lo que no está prohibido está permitido, nuestros lectores creen que "mirar por el ojo de la cerradura es al menos feo, y si el cliente también desprende lo espacial como propio, entonces esto es robo directo". Por supuesto, está claro que en los negocios todo el mundo hace esto. Pero en una sociedad decente todavía se acostumbra guardar silencio sobre esto ". Sin embargo, analizar a alguien y pasar los sparsen como propios, como dicen, son dos grandes diferencias: “Confundes lo suave y lo frío. Realmente ofrecemos servicios de análisis. Pero es exactamente la misma forma en que puedes culpar a los fabricantes, por ejemplo, las armas, por matarlo. Hacemos negocios, pero en los negocios hay una regla: es legal o no. Mi punto es ... Si los clientes acuden a nosotros y están dispuestos a pagar mucho para obtener datos, realmente es malo ... "
- "Hizo una solicitud para un sitio de medios - clavada por una queja". Sitio de Forbes, análisis, aplicación en Google Play: ¿qué podría salir mal? “En un momento decidí hacer una solicitud para el sitio web de Forbes. Para obtener artículos del sitio: páginas analizadas. Configuré todo en modo automático e hice una aplicación para Android. Publiqué la aplicación en el mercado. Un año después, un abogado se puso en contacto conmigo y me exigió eliminar la solicitud porque violé los derechos de autor. No discutí. Es una pena que Forbes en sí no tenga una aplicación para sus propios artículos del sitio. Solo hay un sitio. Y su sitio es lento, cargado durante mucho tiempo y lleno de publicidad ... "
- "¡Mi base de datos es mi trabajo bajo protección!" El derecho de autor es otro concepto que se puede dedicar a una docena de páginas de debates (además de cientos de miles de los existentes), pero sin mencionar que también es incorrecto. Nuestro lector emitió el concepto: “Alguien creó una base de datos de bienes. Gasté un montón de recursos en encontrar información, sistematizar esta información, poner datos en la base de datos. A pedido de un competidor, está analizando esta base y dándole al mismo competidor por dinero. ¿Crees que no hay problemas éticos? Con respecto al estado de derecho, no sé cómo es en la Federación de Rusia, pero en Ucrania una base de datos puede estar sujeta a derechos de autor ".
Sin embargo, la responsabilidad de usar el servicio o producto aún recae en quién lo adquiere / con qué propósito: “... también en Rusia. Brindamos servicios de recolección de datos. Y para este servicio pedimos dinero. No vendemos los datos nosotros mismos. "Por cierto, advierto a todos los clientes que pueden violar la ley si usan, por ejemplo, descripciones". - "Formalmente, tienes razón, ¡pero he encontrado un artículo sobre ti!" El Código Penal de la Federación de Rusia (artículo 146) describe solo el alcance de las violaciones que permiten clasificar la infracción de derechos de autor como un "delito". Los derechos en sí mismos se describen en el Código Civil, y la medida en que el acto se clasifica como "criminal", análisis regular, de modo que surge la pregunta de "¿se cerrará el sitio", se extiende sin problemas. Pero los aspectos son importantes:
- Allí, "tamaño grande" no está en el número de páginas analizadas, sino en dinero. ¿Cómo califica el análisis (y su regularidad) como infracción de derechos de autor (!) En dinero? ¿Y cómo se hace generalmente en tales casos y de dónde puede venir una multa de cientos de miles de dólares por copia de la película? La "ganancia perdida" se calcula con el coeficiente correspondiente. - — «». , , ( ), «». : , -? , .
- ( . : — 30 , — 1000, « », ). , ? , « ».
Resumiendo: "- ¿Cómo se ha convertido el análisis en una infracción de derechos de autor? - ninguno. La violación es ordenarnos un análisis y luego volcar el contenido en su sitio. Poner un sitio es otro artículo ".Maxim Kulgin, xmldatafeed.com