Raspado web

El web scraping (o scraping, o scraping ← inglés  web scraping ) es una tecnología para obtener datos web extrayéndolos de páginas de recursos web [1] . El web scraping puede ser realizado manualmente por un usuario de computadora, sin embargo, el término generalmente se refiere a procesos automatizados implementados con código que realiza solicitudes GET al sitio de destino [2] .

El web scraping se utiliza para transformar sintácticamente las páginas web en formas más utilizables [3] . Las páginas web se crean utilizando lenguajes de marcado basados ​​en texto ( HTML y XHTML ) y contienen una gran cantidad de datos útiles en el código. Sin embargo, la mayoría de los recursos web están destinados a los usuarios finales y no a la usabilidad automatizada, por lo que se ha desarrollado una tecnología que "limpia" el contenido web.

Cargar y ver la página son los componentes más importantes de la tecnología, son una parte integral de la recopilación de datos [4] .

Historia

La historia del web scraping comienza con la llegada de Internet.

Métodos

El web scraping es un área de desarrollo activo, que comparte una ambiciosa iniciativa de interacción humano-computadora que requiere avances en el procesamiento y la comprensión del texto de las páginas en línea por parte de la inteligencia artificial. Las soluciones de raspado modernas van desde ad hoc, que requieren esfuerzo humano, hasta sistemas completamente automatizados que son capaces de convertir sitios web completos en información estructurada en un formato específico. Idealmente, el sitio cuyos datos deben recuperarse los proporciona a través de una API con acceso entre dominios permitido [13] . En los casos en que este no sea el caso, se pueden utilizar otros métodos de raspado.

"Copiar y pegar" manualmente

A veces, incluso la mejor tecnología de web scraping no puede reemplazar el trabajo manual de una persona cuando un usuario copia y pega texto. En algunos casos, esta es la única solución posible, por ejemplo, cuando los sitios web bloquean el raspado web y la copia de texto.

Llamar a un servicio proxy

Si el sitio es un documento html o xml y se permiten solicitudes entre dominios, puede obtener el contenido del documento mediante una solicitud a uno de los servicios de proxy disponibles en Internet [13] .

Coincidencia de patrón de texto

Una forma simple pero poderosa de obtener información de las páginas web. Puede basarse en el comando grep de UNIX (buscar un patrón en uno o más archivos [14] ) o en la coincidencia de expresiones regulares en lenguajes de programación (como Perl o Python ).

Analizando HTML

Muchos sitios web se componen de una gran cantidad de páginas que se generan dinámicamente a partir de una fuente estructurada básica, la base de datos. Los datos de la misma categoría generalmente se codifican en páginas similares utilizando un script o plantilla común. En la minería de datos, un programa que detecta dichos patrones en una fuente de información particular, extrae su contenido y lo traduce a un formulario se denomina envoltorio. Se supone que las páginas analizadas del sistema se ajustan a un patrón común y que pueden identificarse fácilmente en términos de un esquema de URL común [15] . Además, algunos lenguajes de consulta de datos semiestructurados, como XQuery y HTML, se pueden usar para analizar páginas HTML y extraer y transformar el contenido de la página.

Modelo de objeto de documento ( DOM)

DOM es un programa con una API para documentos HTML y XML [16] . Al incorporar un navegador web completo, como Internet Explorer o Mozilla Browser Control, los programas pueden recuperar contenido dinámico generado por scripts del lado del cliente. Raspar un árbol DOM le permite acceder a la información en sus partes individuales [17] .

Agregación de datos verticales

Hay varias empresas que han desarrollado plataformas especiales en línea que crean y controlan muchos bots. Los bots funcionan sin intervención humana directa y, al mismo tiempo, su interacción con los usuarios se produce sin comunicación con el sitio de destino. La preparación incluye la creación de una base de conocimientos, gracias a la cual es posible el trabajo de los bots. Los bots agregan datos sobre propiedades individuales de cada recurso de acuerdo con las condiciones especificadas para una mayor comparación y análisis de los valores de propiedad obtenidos [18] . La fiabilidad de la plataforma se mide por la calidad de la información recibida (normalmente el número de campos) y su escalabilidad (hasta cientos o miles de sitios). Esta escalabilidad se utiliza principalmente para convertir datos ubicados al final de un código de sitio largo que los agregadores convencionales encuentran difícil o demasiado lento para recopilar contenido.

Reconocimiento de anotaciones semánticas

Algunas páginas pueden contener metadatos o marcado semántico y anotaciones, utilizando el método de reconocimiento de anotación semántica, se pueden extraer de dichas páginas [19] .

analizadores de página

Se están produciendo avances en el campo de la inteligencia artificial, cuando la visión artificial identifica datos, los interpreta, como si lo hiciera una persona, y los extrae [20] .

La tecnología de web scraping es conveniente para traducir datos de páginas web a formas más convenientes, sin embargo, también existen métodos de análisis que, en el caso de una API abierta, pueden resolver el problema de manera más productiva [21] .

Aplicación

El web scraping se ha convertido en una herramienta importante para la recopilación automatizada de información en Internet. Forma parte de los sistemas de información de marketing (MIS) para la formación de bases de datos o bancos de datos, gracias a los cuales se proporciona la información necesaria en forma de informes tabulares [22] . Las tecnologías de los motores de búsqueda y los agregadores de contenido también están interconectados con los programas de web scraping [23] .

El web scraping es una forma de copia de datos en la que cierta información necesaria para la obtención se recopila de Internet y se acumula, generalmente en una base de datos local central o en una hoja de cálculo, para su posterior extracción o análisis [24] . El software de web scraping puede acceder a la World Wide Web directamente utilizando el Protocolo de transferencia de hipertexto, así como a través de un navegador web.

El contenido de la página resultante se puede analizar, reformatear, copiar en una hoja de cálculo, etc. El raspado web generalmente toma una parte de los datos de una página para usarlos para otro propósito. Un ejemplo de raspado puede ser buscar en varios sitios y copiar nombres, números de teléfono, direcciones de correo electrónico, URL de un tema determinado para crear una base de datos de contactos.

Básicamente, los web scrapers resuelven las siguientes tareas:

  • Buscar la información necesaria;
  • Copia de datos de Internet;
  • Monitoreo de actualizaciones en sitios [25] .

El web scraping se puede usar como una herramienta independiente y servir como una búsqueda específica de información, también puede convertirse en un componente del desarrollo web que se utiliza para la indexación web, la minería web y la minería de datos, el monitoreo en línea, los cambios de precios y la comparación, para la observación de la competencia. , y otra recopilación de datos.

Programas y análogos

Los programas de raspado web no están diseñados para usuarios comunes, los programadores trabajan con ellos, quienes en la mayoría de los casos escriben códigos para tareas específicas. En Internet, puede encontrar varias herramientas y herramientas para el web scraping: bibliotecas, aplicaciones, servicios en línea, servicios en la nube, servicios de tipo DaaS, complementos de navegador. Una de las herramientas de scraping más populares es Scrapy (es un marco gratuito y de código abierto [26] ) . La plataforma comercial más popular es Import.IO [27] .

Hay desarrollos, por ejemplo, Nokogiri, que fue creado específicamente para el lenguaje de programación Ruby [21] , scrapers que realizan una tarea específica de entre una variedad de posibles: Outwit Hub [28] recopila información de texto y la distribuye entre celdas. Las nuevas formas de raspado web implican escuchar fuentes de datos de servidores web. Por ejemplo, JSON se usa comúnmente como un mecanismo de transporte para almacenar datos entre un cliente y un servidor web.

Obtener datos de sitios que usan acceso API también es efectivo. Empresas como Amazon AWS y Google Google (servicio API Discovery) brindan a los usuarios finales herramientas, servicios y datos públicos gratuitos.

Formas de proteger y eludir bloqueos

Existen métodos para evitar que los sitios web raspen la web, como la detección y el bloqueo de bots para que no rastreen (vean) sus páginas. En respuesta, existen sistemas de web scraping que se basan en el uso de técnicas de análisis de DOM, visión por computadora y procesamiento de lenguaje natural para simular la navegación humana con el fin de recopilar contenido de la página web para el análisis fuera de línea.

Los administradores pueden bloquear los programas de web scraping para evitar que los competidores utilicen la información. Los programas de raspado se pueden reconocer por las siguientes características:

  • Comportamiento inusual del usuario (por ejemplo, cientos de transiciones a una nueva página del sitio cada segundo);
  • Acciones repetitivas no concluyentes (el usuario no realizará las mismas tareas una y otra vez);
  • Uso de enlaces que están contenidos únicamente en el código del sitio web y no son visibles para los usuarios comunes [29] .

Métodos de bloqueo:

  1. Denegar el acceso al sitio desde una dirección IP específica (por ejemplo, cuando el bot ha revisado más de 100 páginas por sesión);
  2. Denegar la ID de usuario, que, desde el punto de vista del administrador del sitio, es un atacante que ingresa al sitio mediante autenticación [25] .

Para eludir el bloqueo, los programas de web scraping deben realizar acciones en el sitio que sean lo más parecidas posible al comportamiento del usuario. Por lo tanto, debe rotar periódicamente las direcciones IP, cambiar el identificador del agente de usuario ( Agente de usuario ) y configurar la velocidad de las visitas del raspador web a la óptima, y ​​entre visitas: cree acciones aleatorias en el sitio que no despierten sospechas [29] .

Características legales

Los aspectos legales del web scraping se rigen por la legislación en materia de protección de datos de carácter personal . En Rusia, el documento reglamentario es la Ley Federal 152 "sobre datos personales" [30] . En la Unión Europea, los scrapers deben cumplir con el Reglamento General de Protección de Datos (GDPR) [31] . En Francia, desde abril de 2020, está en vigor un documento normativo separado emitido por la Comisión Nacional para la Informatización y la Libertad (CNIL), que restringe la recopilación de datos personales de fuentes abiertas [32] .

Véase también

Notas

  1. Boeing, G.; Waddell, P. Nuevos conocimientos sobre los mercados de viviendas de alquiler en los Estados Unidos: raspado web y análisis de listados de alquiler de Craigslist // Journal of Planning Education and Research. - 2016. - doi : 10.1177/0739456X16664789 . - arXiv : 1605.05397 .
  2. Web-scraping y Naive Bayes Text Classification . ciberleninka.ru. Consultado el 14 de enero de 2020. Archivado desde el original el 13 de diciembre de 2019.
  3. Tyutyarev A. A., Solomatin D. I. Desarrollo de un marco para crear raspadores web  // Problemas de la ciencia. - 2016. - V. 3 , N º 13 . Archivado desde el original el 25 de enero de 2021.
  4. Vargiu y Urru. Explotación del raspado web en un enfoque basado en filtrado colaborativo para la publicidad web  //  Investigación de inteligencia artificial. - 2013. - Nº 2 (1) . -doi : 10.5430 / air.v2n1p44 .
  5. ↑ Viajero de la World Wide Web . Consultado el 9 de enero de 2020. Archivado desde el original el 3 de enero de 2020.
  6. El primer robot web - 1993 . Consultado el 9 de enero de 2020. Archivado desde el original el 19 de enero de 2021.
  7. El efecto del estilo de presentación de la página de resultados del motor de búsqueda en la satisfacción del usuario y los movimientos oculares | Académico semántico
  8. Valeria Cherepenchuk, Irina Lomakina, Natalya Serdtseva. Tecnologías que cambiaron el mundo . — Litros, 2019-12-13. — 322 págs. - ISBN 978-5-04-220661-0 .
  9. S. Kingsnorth. Estrategia de Mercadeo Digital . — ISBN 9785041757397 .
  10. ↑ 1 2 3 4 Web Scraping : Cómo comenzó todo y cómo será  . www.octoparse.com. Consultado el 9 de enero de 2020. Archivado desde el original el 7 de agosto de 2020.
  11. Beautiful Soup: Lo llamamos Tortuga porque nos enseñó. . www.crummy.com Consultado el 14 de enero de 2020. Archivado desde el original el 27 de marzo de 2022.
  12. Jeff Desjardins. ¿Qué sucede en un minuto de Internet en 2018? . www.visualcapitalist.com . Capitalista visual (14 de mayo de 2018). Consultado el 14 de enero de 2020. Archivado desde el original el 11 de noviembre de 2019.
  13. ↑ 1 2 Kitaev E. L., Skornyakova R. Yu., "Raspado sobre la marcha de recursos web externos controlados por marcado de página HTML", preimpresiones del Instituto Keldysh. M. V. Keldysha, 2019, 020, 31 p. . www.mathnet.ru Recuperado: 7 de marzo de 2020.
  14. Demidova O.O., Saveliev A.O. Análisis comparativo de técnicas de extracción de datos de páginas web en la resolución del problema de agrupamiento de publicaciones científicas // Medios electrónicos y sistemas de control. Materiales de informes de la conferencia científico-práctica internacional.
  15. Canción, Ruihua. Optimización conjunta de generación de contenedores y detección de plantillas" (PDF) . La 13.ª Conferencia internacional sobre descubrimiento de conocimientos y minería de datos . Microsoft Research (14 de septiembre de 2007). Consultado el 27 de noviembre de 2019. Archivado desde el original el 27 de noviembre de 2019.
  16. ¿Qué es el modelo de objeto de documento? . www.w3.org. Consultado el 9 de enero de 2020. Archivado desde el original el 6 de mayo de 2019.
  17. Song R. Optimización conjunta de generación de envoltorios y detección de plantillas // La 13.ª Conferencia internacional sobre descubrimiento de conocimientos y minería de datos. - 2007. - S. 13-20 .
  18. Un método para agregar y transformar datos y un dispositivo para su implementación . findpatent.ru. Recuperado: 9 de marzo de 2020.
  19. ¿Qué es FreeFormat  ? www.gooseeker.com Consultado el 7 de marzo de 2020. Archivado desde el original el 3 de diciembre de 2019.
  20. Xconomy: Diffbot utiliza la visión artificial para reinventar la  web semántica . Xconomy (25 de julio de 2012). Consultado el 7 de marzo de 2020. Archivado desde el original el 29 de febrero de 2020.
  21. ↑ 1 2 Tim Jones M. Extraer información de Internet usando el lenguaje Ruby (22 de mayo de 2014). Consultado el 13 de diciembre de 2019. Archivado desde el original el 13 de diciembre de 2019.
  22. Pavlov N. V. Métodos de investigación de mercados .
  23. Joyce G. (Consultado el 01/06/19 Los datos revelan lo más destacado de los GRAMMY 2017 en las redes sociales . Consultado el 17 de diciembre de 2019. Archivado desde el original el 17 de diciembre de 2019.
  24. Basalaeva A. Yu., Gareeva G. A., Grigoryeva D. R. Web scraping y clasificación de texto por Naive Bayes  // Innovative Science. - 2018. - Nº 5-2 . — ISSN 2410-6070 . Archivado desde el original el 13 de diciembre de 2019.
  25. ↑ 1 2 Moskalenko A. A., Laponina O. R., Sukhomlin V. A. Desarrollo de una aplicación de raspado web con la capacidad de evitar el bloqueo // Tecnologías de la información modernas y educación en TI. - 2019. - T. 15 , N º 2 . - S. 413-420 . - doi : 10.25559 .
  26. Scrappy | Un marco de raspado y rastreo web rápido y potente . scrapy.org. Consultado el 7 de marzo de 2020. Archivado desde el original el 22 de marzo de 2020.
  27. Integración de datos web - Import.io - Extracción de datos, Datos web, Recolección web, Preparación de datos,  Integración de datos . import.io. Consultado el 7 de marzo de 2020. Archivado desde el original el 5 de marzo de 2020.
  28. Tutorial en video de Greenhouse: ¿Qué es Web Scraping ? te-st.ru . Consultado el 13 de diciembre de 2019. Archivado desde el original el 13 de diciembre de 2019.
  29. ↑ 1 2 Moskalenko A. A., Laponina O. R., Sukhomlin V. A. Desarrollo de una aplicación de raspado web con la capacidad de evitar el bloqueo // Tecnologías de la información modernas y educación en TI. - 2019. - V. 5 , N º 2 .
  30. Cómo los propietarios de sitios evitan multas según 152-FZ - Ley Federal "Sobre Datos Personales" . PDMaster.ru - Portal de información sobre datos personales (15 de abril de 2020). Consultado el 5 de julio de 2020. Archivado desde el original el 5 de julio de 2020.
  31. Web Scraping legal:  explicación del servicio de web scraping . Servicio de web scraping de FindDataLab (6 de abril de 2020). Consultado el 5 de julio de 2020. Archivado desde el original el 28 de enero de 2021.
  32. FindDataLab.com. ¿Todavía puede realizar Web Scraping con las nuevas directrices de la CNIL?  (Inglés) . Medio (9 de junio de 2020). Consultado el 5 de julio de 2020. Archivado desde el original el 5 de julio de 2020.

Literatura

  • Kitaev E. L., Skornyakova R. Yu.  StructScraper: una herramienta para la inclusión dinámica de datos semánticos de recursos web externos en el contenido de una página web // Servicio científico en Internet. — 2019.
  • Kitaev E. L., Skornyakova R. Yu. Raspado  sobre la marcha de recursos web externos controlados por marcado de página HTML. MV Keldysh. - 2019. - Nº 20. - DOI : 10.20948/prepr-2019-20.
  • Soloshchenko M. V., Karamova A. I.  Implementación de la importación de datos desde recursos web // Matemáticas modernas y sus aplicaciones: artículo en las actas de la conferencia. — Ufá, 2017.
  • Tyutyarev A. A., Solomatin D. I.  Desarrollo de un marco para crear web scrapers // Voprosy nauki. - 2016. - V. 3, N° 13.
  • Adamuz P. L. Desarrollo de un banco de pruebas genérico para web scraping. Barcelona: Centro Europeo de Acreditación de la Educación y la Formación, 2015.
  • Boeing, G.; Waddell, P. Nuevos conocimientos sobre los mercados de viviendas de alquiler en los Estados Unidos: raspado web y análisis de listados de alquiler de Craigslist // Journal of Planning Education and Research. - 2016. - DOI : 10.1177/0739456X16664789. - arXiv :1605.05397.
  • Huan Liu, Fred Morstatter, Jiliang Tang, Reza Zafarani.  Lo bueno, lo malo y lo feo: descubrir nuevas oportunidades de investigación en la minería de redes sociales (inglés) // International Journal of Data Science and Analytics. — 2016-11. — vol. 1, edición 3-4. — ISSN 2364-4168 2364-415X, 2364-4168. - DOI :10.1007/s41060-016-0023-0.
  • Geoff Boeing, Paul Waddell.  Nuevos conocimientos sobre los mercados de viviendas de alquiler en los Estados Unidos: raspado web y análisis de listados de alquiler de Craigslist // Journal of Planning Education and Research. — 2017-12. — vol. 37, edición. 4.- ISSN 1552-6577 0739-456X, 1552-6577. — DOI :10.1177/0739456X16664789.
  • Rizqi Putri Nourma Budiarti, Nanang Widyatmoko, Mochamad Hariadi, Mauridhi Hery Purnomo. Web scraping para el sistema automatizado de monitoreo de la calidad del agua: un estudio de caso de PDAM Surabaya // 2016 Seminario internacional sobre tecnología inteligente y sus aplicaciones (ISITIA). — Lombok, Indonesia: IEEE, 2016-07. - ISBN 978-1-5090-1709-6 . — DOI :10.1109/ISITIA.2016.7828735.

Enlaces