El web scraping , web harvesting o web data extraction es un tipo de extracción de datos que se utiliza para extraer datos de sitios web . [1] El software de web scraping puede acceder directamente a la World Wide Web mediante el Protocolo de transferencia de hipertexto o un navegador web. Si bien el web scraping puede ser realizado manualmente por un usuario de software, el término generalmente se refiere a procesos automatizados implementados mediante un bot o un rastreador web . Es una forma de copia en la que se recopilan y copian datos específicos de la web, generalmente en una base de datos local central o una hoja de cálculo , para su posterior recuperación o análisis .
El raspado de una página web implica obtenerla y luego extraer datos de ella. La obtención es la descarga de una página (que hace un navegador cuando un usuario ve una página). Por lo tanto, el rastreo web es un componente principal del raspado web, para obtener páginas para su posterior procesamiento. Una vez obtenidas, se puede realizar la extracción. El contenido de una página se puede analizar , buscar y reformatear, y sus datos se pueden copiar en una hoja de cálculo o cargar en una base de datos. Los raspadores web generalmente extraen algo de una página para usarlo con otro propósito en otro lugar. Un ejemplo sería buscar y copiar nombres y números de teléfono, empresas y sus URL o direcciones de correo electrónico a una lista (raspado de contactos).
Además del raspado de contactos , el raspado web se utiliza como un componente de aplicaciones utilizadas para indexación web , minería web y minería de datos , monitoreo de cambios de precios en línea y comparación de precios , raspado de reseñas de productos (para observar a la competencia), recopilación de listados de bienes raíces, monitoreo de datos meteorológicos, detección de cambios en sitios web , investigación, seguimiento de presencia y reputación en línea, mashup web e integración de datos web .
Las páginas web se crean utilizando lenguajes de marcado basados en texto ( HTML y XHTML ) y, con frecuencia, contienen una gran cantidad de datos útiles en formato de texto. Sin embargo, la mayoría de las páginas web están diseñadas para usuarios finales humanos y no para facilitar su uso automatizado. Como resultado, se han desarrollado herramientas y software especializados para facilitar el raspado de páginas web. Las aplicaciones de raspado web incluyen investigación de mercado , comparación de precios, monitoreo de contenido y más. Las empresas confían en los servicios de raspado web para recopilar y utilizar estos datos de manera eficiente.
Las formas más nuevas de extracción de datos de la web implican el monitoreo de las fuentes de datos de los servidores web. Por ejemplo, JSON se utiliza comúnmente como mecanismo de transporte entre el cliente y el servidor web.
Existen métodos que algunos sitios web utilizan para evitar el web scraping, como detectar y evitar que los bots rastreen (visualicen) sus páginas. En respuesta, los sistemas de web scraping utilizan técnicas que incluyen análisis de DOM , visión artificial y procesamiento del lenguaje natural para simular la navegación humana y permitir la recopilación de contenido de páginas web para su análisis sin conexión.
Tras el nacimiento de la World Wide Web en 1989, en junio de 1993 se creó el primer robot web, [2] World Wide Web Wanderer , cuyo único propósito era medir el tamaño de la web.
En diciembre de 1993 se lanzó JumpStation , el primer motor de búsqueda web basado en un robot . Como había menos sitios web disponibles en la web, los motores de búsqueda de ese momento solían depender de administradores humanos para recopilar y dar formato a los enlaces. En comparación, JumpStation fue el primer motor de búsqueda de la WWW que dependía de un robot web.
En el año 2000 se crearon las primeras API web y los primeros rastreadores de API . Una API ( interfaz de programación de aplicaciones) es una interfaz que facilita enormemente el desarrollo de un programa al proporcionar los elementos básicos para su creación. En el año 2000, Salesforce y eBay lanzaron su propia API, con la que los programadores podían acceder y descargar algunos de los datos disponibles para el público. Desde entonces, muchos sitios web ofrecen API web para que las personas accedan a su base de datos pública.
El web scraping es el proceso de extracción automática de datos o recopilación de información de la World Wide Web. Es un campo con desarrollos activos que comparte un objetivo común con la visión de la web semántica , una iniciativa ambiciosa que aún requiere avances en el procesamiento de texto, la comprensión semántica, la inteligencia artificial y las interacciones entre humanos y computadoras .
La forma más sencilla de extraer datos de la web es copiar y pegar manualmente datos de una página web en un archivo de texto o una hoja de cálculo. A veces, ni siquiera la mejor tecnología de extracción de datos de la web puede sustituir el examen manual y el copiado y pegado de datos por parte de un humano, y a veces esta puede ser la única solución viable cuando los sitios web que se van a extraer establecen barreras explícitamente para impedir la automatización de las máquinas.
Un enfoque simple pero poderoso para extraer información de páginas web puede basarse en el comando grep de UNIX o en las funciones de coincidencia de expresiones regulares de los lenguajes de programación (por ejemplo, Perl o Python ).
Se pueden recuperar páginas web estáticas y dinámicas enviando solicitudes HTTP al servidor web remoto mediante programación de sockets .
Muchos sitios web tienen grandes colecciones de páginas generadas dinámicamente a partir de una fuente estructurada subyacente, como una base de datos. Los datos de la misma categoría suelen codificarse en páginas similares mediante un script o plantilla común. En minería de datos, un programa que detecta dichas plantillas en una fuente de información particular, extrae su contenido y lo traduce a una forma relacional se denomina contenedor . Los algoritmos de generación de contenedores suponen que las páginas de entrada de un sistema de inducción de contenedores se ajustan a una plantilla común y que se pueden identificar fácilmente en términos de un esquema común de URL. [3] Además, algunos lenguajes de consulta de datos semiestructurados , como XQuery y HTMLQL, se pueden utilizar para analizar páginas HTML y recuperar y transformar el contenido de las páginas.
Al incorporar un navegador web completo, como Internet Explorer o el control de navegador de Mozilla , los programas pueden recuperar el contenido dinámico generado por los scripts del lado del cliente. Estos controles de navegador también analizan las páginas web en un árbol DOM, en función del cual los programas pueden recuperar partes de las páginas. Se pueden utilizar lenguajes como Xpath para analizar el árbol DOM resultante.
Existen varias empresas que han desarrollado plataformas de recolección de datos específicas para cada sector. Estas plataformas crean y monitorean una multitud de "bots" para sectores específicos sin intervención humana directa y sin trabajo relacionado con un sitio de destino específico. La preparación implica establecer la base de conocimiento para todo el sector y luego la plataforma crea los bots automáticamente. La solidez de la plataforma se mide por la calidad de la información que recupera (generalmente, la cantidad de campos) y su escalabilidad (la rapidez con la que puede escalar hasta cientos o miles de sitios). Esta escalabilidad se utiliza principalmente para apuntar a la cola larga de sitios que los agregadores comunes consideran complicados o demasiado laboriosos para recolectar contenido.
Las páginas que se están extrayendo pueden incluir metadatos o marcas semánticas y anotaciones, que se pueden utilizar para localizar fragmentos de datos específicos. Si las anotaciones están incrustadas en las páginas, como lo hace Microformat , esta técnica puede considerarse un caso especial de análisis de DOM. En otro caso, las anotaciones, organizadas en una capa semántica, [4] se almacenan y se administran por separado de las páginas web, de modo que los extractores pueden recuperar el esquema de datos y las instrucciones de esta capa antes de extraer las páginas.
Existen esfuerzos que utilizan el aprendizaje automático y la visión por computadora que intentan identificar y extraer información de las páginas web interpretándolas visualmente como lo haría un ser humano. [5]
Utiliza inteligencia artificial avanzada para interpretar y procesar el contenido de las páginas web en contexto, extrayendo información relevante, transformando datos y personalizando los resultados en función de la estructura y el significado del contenido. Este método permite una extracción de datos más inteligente y flexible, que se adapta a contenido web complejo y dinámico.
El mundo del web scraping ofrece una variedad de herramientas de software diseñadas para simplificar y personalizar el proceso de extracción de datos de los sitios web. Estas herramientas varían en su enfoque y capacidades, lo que hace que el web scraping sea accesible tanto para usuarios novatos como para programadores avanzados.
Algunos programas avanzados de extracción de datos web pueden reconocer automáticamente la estructura de datos de una página web, lo que elimina la necesidad de codificación manual. Otros ofrecen una interfaz de grabación que permite a los usuarios grabar sus interacciones con un sitio web, creando así un script de extracción de datos sin escribir una sola línea de código. Muchas herramientas también incluyen funciones de script para una extracción y transformación de contenido más personalizada, junto con interfaces de base de datos para almacenar los datos extraídos localmente.
Las herramientas de extracción de datos web son versátiles en cuanto a su funcionalidad. Algunas pueden extraer datos directamente de las API, mientras que otras son capaces de gestionar sitios web con carga de contenido dinámico basado en AJAX o requisitos de inicio de sesión. El software de apuntar y hacer clic, por ejemplo, permite a los usuarios sin conocimientos avanzados de codificación beneficiarse del web scraping. Esto democratiza el acceso a los datos, lo que facilita que un público más amplio aproveche el poder del web scraping.
Algunas plataformas no solo ofrecen herramientas para el web scraping, sino también oportunidades para que los desarrolladores compartan y potencialmente moneticen sus soluciones de scraping. Al aprovechar estas herramientas y plataformas, los usuarios pueden aprovechar todo el potencial del web scraping, convirtiendo los datos sin procesar en información y oportunidades valiosas.
[6]
La legalidad del web scraping varía en todo el mundo. En general, el web scraping puede ir en contra de los términos de servicio de algunos sitios web, pero la aplicabilidad de estos términos no está clara. [7]
En los Estados Unidos, los propietarios de sitios web pueden utilizar tres importantes reclamaciones legales para evitar el raspado web no deseado: (1) infracción de derechos de autor (compilación), (2) violación de la Ley de Fraude y Abuso Informático ("CFAA") y (3) invasión de bienes muebles . [8] Sin embargo, la eficacia de estas reclamaciones depende del cumplimiento de varios criterios, y la jurisprudencia aún está evolucionando. Por ejemplo, con respecto a los derechos de autor, si bien la duplicación directa de la expresión original será ilegal en muchos casos, en los Estados Unidos los tribunales dictaminaron en Feist Publications v. Rural Telephone Service que la duplicación de hechos es permisible.
Los tribunales estadounidenses han reconocido que los usuarios de "scrapers" o "robots" pueden ser considerados responsables de cometer una violación de los derechos de propiedad intelectual , [9] [10] lo que implica que un sistema informático en sí mismo se considera propiedad personal sobre la que el usuario de un scraper está invadiendo. El más conocido de estos casos, eBay v. Bidder's Edge , resultó en una orden judicial que ordenaba a Bidder's Edge dejar de acceder, recopilar e indexar subastas del sitio web de eBay. Este caso involucraba la colocación automática de ofertas, conocida como " auction sniping" . Sin embargo, para tener éxito en una demanda por violación de los derechos de propiedad intelectual , el demandante debe demostrar que el demandado interfirió intencionalmente y sin autorización en el interés posesorio del demandante en el sistema informático y que el uso no autorizado del demandado causó daños al demandante. No todos los casos de rastreo web llevados ante los tribunales se han considerado violación de los derechos de propiedad intelectual. [11]
Una de las primeras pruebas importantes de captura de pantalla involucró a American Airlines (AA) y a una empresa llamada FareChase. [12] AA obtuvo con éxito una orden judicial de un tribunal de primera instancia de Texas, impidiendo a FareChase vender software que permite a los usuarios comparar tarifas en línea si el software también realiza búsquedas en el sitio web de AA. La aerolínea argumentó que el software de búsqueda web de FareChase invadió los servidores de AA cuando recopiló los datos disponibles públicamente. FareChase presentó una apelación en marzo de 2003. En junio, FareChase y AA acordaron llegar a un acuerdo y la apelación fue desestimada. [13]
Southwest Airlines también ha cuestionado las prácticas de raspado de pantalla y ha involucrado tanto a FareChase como a otra empresa, Outtask, en una demanda legal. Southwest Airlines denunció que el raspado de pantalla es ilegal, ya que es un ejemplo de "fraude y abuso informático" y ha provocado "daños y pérdidas" y "acceso no autorizado" al sitio de Southwest. También constituye "interferencia con las relaciones comerciales", "intrusión" y "acceso perjudicial por computadora". También afirmaron que el raspado de pantalla constituye lo que legalmente se conoce como "apropiación indebida y enriquecimiento injusto", además de ser una violación del acuerdo de usuario del sitio web. Outtask negó todas estas afirmaciones, alegando que la ley vigente, en este caso, debería ser la ley de derechos de autor de los EE. UU. y que, según los derechos de autor, la información que se raspa no estaría sujeta a la protección de los derechos de autor. Aunque los casos nunca se resolvieron en la Corte Suprema de los Estados Unidos , FareChase fue finalmente cerrada por la empresa matriz Yahoo! , y Outtask fue adquirida por la empresa de gastos de viaje Concur. [14] En 2012, una startup llamada 3Taps extrajo anuncios clasificados de viviendas de Craigslist. Craigslist envió a 3Taps una carta de cese y desistimiento y bloqueó sus direcciones IP y luego demandó, en Craigslist v. 3Taps . El tribunal sostuvo que la carta de cese y desistimiento y el bloqueo de IP fueron suficientes para que Craigslist alegara adecuadamente que 3Taps había violado la Ley de Abuso y Fraude Informático (CFAA).
Aunque se trata de decisiones tempranas sobre el scraping, y las teorías de responsabilidad no son uniformes, es difícil ignorar un patrón emergente de que los tribunales están preparados para proteger el contenido exclusivo de los sitios comerciales de usos que no son deseables para los propietarios de dichos sitios. Sin embargo, el grado de protección para dicho contenido no está establecido y dependerá del tipo de acceso que haga el scraper, la cantidad de información a la que acceda y copie, el grado en que el acceso afecte negativamente al sistema del propietario del sitio y los tipos y formas de prohibiciones sobre dicha conducta. [15]
Mientras la ley en esta área se vuelve más establecida, las entidades que contemplan el uso de programas de raspado para acceder a un sitio web público también deben considerar si dicha acción está autorizada revisando los términos de uso y otros términos o avisos publicados o disponibles a través del sitio. En un fallo de 2010 en Cvent, Inc. v. Eventbrite, Inc. En el tribunal de distrito de los Estados Unidos para el distrito este de Virginia, el tribunal dictaminó que los términos de uso deben ponerse en conocimiento de los usuarios para que se aplique un contrato o licencia de navegación envolvente . [16] En un caso de 2014, presentado en el Tribunal de Distrito de los Estados Unidos para el Distrito Este de Pensilvania , [17] el sitio de comercio electrónico QVC se opuso al agregador de compras similar a Pinterest Resultly 'el raspado del sitio de QVC para obtener datos de precios en tiempo real. QVC alega que Resultly "rastreó excesivamente" el sitio minorista de QVC (supuestamente enviando entre 200 y 300 solicitudes de búsqueda al sitio web de QVC por minuto, a veces hasta 36.000 solicitudes por minuto), lo que provocó que el sitio de QVC colapsara durante dos días, lo que resultó en la pérdida de ventas para QVC. [18] La demanda de QVC alega que el demandado disfrazó su rastreador web para ocultar su dirección IP de origen y, por lo tanto, impidió que QVC reparara rápidamente el problema. Este es un caso de raspado particularmente interesante porque QVC está solicitando daños y perjuicios por la falta de disponibilidad de su sitio web, que según QVC fue causada por Resultly.
En el sitio web del demandante durante el período de este juicio, el enlace de las condiciones de uso se muestra entre todos los enlaces del sitio, en la parte inferior de la página como la mayoría de los sitios en Internet. Esta sentencia contradice la sentencia irlandesa que se describe a continuación. El tribunal también rechazó el argumento del demandante de que las restricciones de navegación en línea eran aplicables en vista de la adopción por parte de Virginia de la Ley Uniforme de Transacciones de Información Informática (UCITA), una ley uniforme que muchos creían que favorecía las prácticas comunes de contratación de navegación en línea. [19]
En Facebook, Inc. v. Power Ventures, Inc. , un tribunal de distrito dictaminó en 2012 que Power Ventures no podía extraer páginas de Facebook en nombre de un usuario de Facebook. El caso está en apelación y la Electronic Frontier Foundation presentó un escrito en 2015 pidiendo que se revocara. [20] [21] En Associated Press v. Meltwater US Holdings, Inc. , un tribunal de los EE. UU. declaró a Meltwater responsable de extraer y republicar información de noticias de Associated Press, pero un tribunal del Reino Unido falló a favor de Meltwater.
En 2019, el Noveno Circuito dictaminó que el web scraping no violaba la CFAA en el caso hiQ Labs v. LinkedIn . El caso fue apelado ante la Corte Suprema de los Estados Unidos , que lo devolvió al Noveno Circuito para que lo reconsiderara a la luz de la decisión de la Corte Suprema de 2021 en el caso Van Buren v. Estados Unidos , que restringió la aplicabilidad de la CFAA. [22] En esta revisión, el Noveno Circuito confirmó su decisión anterior. [23]
Internet Archive recopila y distribuye una cantidad significativa de páginas web disponibles públicamente sin que se considere que infringen las leyes de derechos de autor. [ cita requerida ]
En febrero de 2006, el Tribunal Marítimo y Comercial de Dinamarca (Copenhague) dictaminó que el rastreo, la indexación y los enlaces profundos sistemáticos realizados por el portal ofir.dk al sitio inmobiliario Home.dk no entran en conflicto con la legislación danesa ni con la directiva de bases de datos de la Unión Europea. [24]
En un caso de febrero de 2010 complicado por cuestiones de jurisdicción, el Tribunal Superior de Irlanda emitió un veredicto que ilustra el estado incipiente de la jurisprudencia en desarrollo. En el caso de Ryanair Ltd v Billigfluege.de GmbH , el Tribunal Superior de Irlanda dictaminó que el acuerdo de " click-wrap " de Ryanair era jurídicamente vinculante. En contraste con las conclusiones del Tribunal de Distrito de los Estados Unidos del Distrito Este de Virginia y las del Tribunal Marítimo y Comercial de Dinamarca, el juez Michael Hanna dictaminó que el hipervínculo a los términos y condiciones de Ryanair era claramente visible y que imponer al usuario la carga de aceptar los términos y condiciones para obtener acceso a los servicios en línea es suficiente para constituir una relación contractual. [25] La decisión está siendo apelada en el Tribunal Supremo de Irlanda. [26]
El 30 de abril de 2020, la Comisión Nacional de Informática y Libertades (CNIL) publicó nuevas directrices sobre el web scraping. [27] Las directrices de la CNIL dejaron claro que los datos disponibles públicamente siguen siendo datos personales y no se pueden reutilizar sin el conocimiento de la persona a la que pertenecen esos datos. [28]
En Australia, la Ley de Spam de 2003 prohíbe algunas formas de recolección de datos web, aunque esto sólo se aplica a las direcciones de correo electrónico. [29] [30]
A excepción de algunos casos relacionados con la violación de derechos de propiedad intelectual, los tribunales indios no se han pronunciado expresamente sobre la legalidad del web scraping. Sin embargo, dado que todas las formas comunes de contratos electrónicos son ejecutables en la India, violar las condiciones de uso que prohíben el web scraping será una violación de la ley de contratos. También violará la Ley de Tecnología de la Información de 2000 , que penaliza el acceso no autorizado a un recurso informático o la extracción de datos de un recurso informático.
El administrador de un sitio web puede utilizar diversas medidas para detener o ralentizar un bot. Algunas técnicas incluyen:
{{cite journal}}
: CS1 maint: multiple names: authors list (link)