El web scraping , la recolección web o la extracción de datos web son el scraping de datos que se utiliza para extraer datos de sitios web . [1] El software de raspado web puede acceder directamente a la World Wide Web utilizando el Protocolo de transferencia de hipertexto o un navegador web. Si bien un usuario de software puede realizar el web scraping manualmente, 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 u hoja de cálculo local central, para su posterior recuperación o análisis .
Raspar una página web implica buscarla y extraerla. La recuperación es la descarga de una página (lo que hace un navegador cuando un usuario ve una página). Por lo tanto, el rastreo web es un componente principal del web scraping, para recuperar páginas para su posterior procesamiento. Una vez recuperado, se puede realizar la extracción. El contenido de una página puede analizarse , buscarse y formatearse, y sus datos copiarse en una hoja de cálculo o cargarse en una base de datos. Los web scrapers suelen sacar algo de una página para utilizarlo 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 en una lista (scraping de contactos).
Además del raspado de contactos , el raspado web se utiliza como componente de aplicaciones utilizadas para indexación web , minería web y extracción de datos , monitoreo de cambios de precios en línea y comparación de precios , raspado de reseñas de productos (para observar la competencia), recopilación de listados de bienes raíces, clima. monitoreo de datos, 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 forma 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 web scraping para recopilar y utilizar estos datos de manera eficiente.
Las formas más nuevas de web scraping implican el monitoreo de fuentes de datos desde servidores web. Por ejemplo, JSON se utiliza habitualmente 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 no permitir que los robots rastreen (vean) sus páginas. En respuesta, existen sistemas de web scraping que se basan en el uso de técnicas de análisis DOM , visión por computadora y procesamiento de lenguaje natural para simular la navegación humana y permitir recopilar contenido de páginas web para su análisis sin conexión.
El web scraping es el proceso de extraer datos automáticamente o recopilar información de la World Wide Web. Es un campo con desarrollos activos que comparten 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 textos, la comprensión semántica, la inteligencia artificial y las interacciones entre humanos y computadoras .
La forma más sencilla de web scraping es copiar y pegar manualmente datos de una página web en un archivo de texto u hoja de cálculo. A veces, ni siquiera la mejor tecnología de raspado web puede reemplazar el examen manual y el copiar y pegar de un ser humano, y a veces esta puede ser la única solución viable cuando los sitios web para el raspado establecen barreras explícitas para evitar 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 ).
Las páginas web estáticas y dinámicas se pueden recuperar publicando solicitudes HTTP en el 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 normalmente se codifican 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 llama 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 pueden identificarse 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 HTQL, se pueden utilizar para analizar páginas HTML y recuperar y transformar el contenido de la página.
Al incorporar un navegador web completo, como Internet Explorer o el control del navegador Mozilla , los programas pueden recuperar el contenido dinámico generado por los scripts del lado del cliente. Estos controles del navegador también analizan páginas web en un árbol DOM, según el cual los programas pueden recuperar partes de las páginas. Se pueden utilizar lenguajes como Xpath para analizar el árbol DOM resultante.
Hay varias empresas que han desarrollado plataformas de recolección verticales específicas. Estas plataformas crean y monitorean una multitud de "bots" para verticales específicas sin "personas involucradas" (sin participación humana directa) y sin trabajo relacionado con un sitio objetivo específico. La preparación implica establecer la base de conocimientos para toda la vertical 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 (normalmente el número 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 larga cola de sitios de los cuales los agregadores comunes encuentran complicado o demasiado laborioso recolectar contenido.
Las páginas que se extraen pueden incluir metadatos o marcas y anotaciones semánticas, que pueden usarse 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 verse como un caso especial de análisis DOM. En otro caso, las anotaciones, organizadas en una capa semántica, [4] se almacenan y administran por separado de las páginas web, de modo que los raspadores pueden recuperar esquemas de datos e instrucciones de esta capa antes de raspar 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 páginas web interpretando las páginas visualmente como lo haría un ser humano. [5]
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 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 web scraping pueden reconocer automáticamente la estructura de datos de una página web, eliminando la necesidad de codificación manual. Otros proporcionan una interfaz de grabación que permite a los usuarios registrar sus interacciones con un sitio web, creando así un script de raspado sin escribir una sola línea de código. Muchas herramientas también incluyen funciones de secuencias de comandos para una extracción y transformación de contenido más personalizadas, junto con interfaces de bases de datos para almacenar los datos extraídos localmente.
Las herramientas de web scraping son versátiles en su funcionalidad. Algunos pueden extraer datos directamente de las API, mientras que otros son capaces de manejar sitios web con requisitos de inicio de sesión o carga de contenido dinámico basados en AJAX. 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 una audiencia más amplia aproveche el poder del web scraping.
Herramientas populares de raspado web
BeautifulSoup: una biblioteca de Python que proporciona métodos simples para extraer datos de archivos HTML y XML.
Scrapy: un marco de rastreo web colaborativo y de código abierto para Python que le permite extraer datos, procesarlos y almacenarlos.
Octoparse: una herramienta de web scraping sin código que ofrece una interfaz fácil de usar para extraer datos de sitios web sin necesidad de conocimientos de programación.
ParseHub: otro raspador web sin código que puede manejar contenido dinámico y funciona con sitios cargados con AJAX.
Apify: una plataforma que ofrece una amplia gama de herramientas de scraping y la capacidad de crear scrapers personalizados.
Algunas plataformas brindan no solo 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 desbloquear 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 reclamos legales principales para evitar el web scraping no deseado: (1) infracción de derechos de autor (compilación), (2) violación de la Ley de Abuso y Fraude Informático ("CFAA") y (3) invasión a 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 al derecho de autor, si bien la duplicación absoluta de la expresión original será en muchos casos ilegal, en los Estados Unidos los tribunales dictaminaron en Feist Publications v. Rural Telephone Service que la duplicación de hechos está permitida.
Los tribunales estadounidenses han reconocido que los usuarios de "raspadores" o "robots" pueden ser considerados responsables de invadir bienes muebles , [9] [10], lo que implica que un sistema informático en sí mismo se considere propiedad personal en el que el usuario de un raspador está invadiendo. El más conocido de estos casos, eBay contra Bidder's Edge , dio lugar a una orden judicial que ordenaba a Bidder's Edge dejar de acceder, recopilar e indexar subastas desde el sitio web de eBay. Este caso involucró la realización automática de ofertas, lo que se conoce como subasta de francotiradores . Sin embargo, para tener éxito en un reclamo de invasión de bienes muebles , el demandante debe demostrar que el demandado interfirió intencionalmente y sin autorización con el interés posesorio del demandante en el sistema informático y que el uso no autorizado del demandado causó daño al demandante. No todos los casos de arañas web presentados ante los tribunales se han considerado invasión de bienes muebles. [11]
Una de las primeras pruebas importantes de screen scraping involucró a American Airlines (AA) y una empresa llamada FareChase. [12] AA obtuvo con éxito una orden judicial de un tribunal de primera instancia de Texas, impidiendo que FareChase venda software que permite a los usuarios comparar tarifas en línea si el software también busca 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 screen scraping y ha involucrado tanto a FareChase como a otra empresa, Outtask, en un reclamo legal. Southwest Airlines acusó 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 nocivo por computadora". También afirmaron que el screen-scraping constituye lo que legalmente se conoce como "Apropiación indebida y enriquecimiento injusto", además de ser un incumplimiento 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 EE. UU. y que, según los derechos de autor, la información que se extrae 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 finalmente fue cerrada por la empresa matriz Yahoo! y Outtask fue adquirido por la empresa de gastos de viaje Concur. [14] En 2012, una startup llamada 3Taps eliminó anuncios clasificados de viviendas de Craigslist. Craigslist envió a 3Taps una carta de cese y desistimiento y bloqueó sus direcciones IP y luego presentó una demanda en Craigslist v. 3Taps . El tribunal sostuvo que la carta de cese y desistimiento y el bloqueo de IP eran suficientes para que Craigslist afirmara adecuadamente que 3Taps había violado la Ley de Abuso y Fraude Informático (CFAA).
Aunque se trata de decisiones tempranas y las teorías de responsabilidad no son uniformes, es difícil ignorar un patrón que está surgiendo según el cual los tribunales están preparados para proteger el contenido patentado en sitios comerciales de usos que no son deseables para los propietarios de dichos sitios. Sin embargo, el grado de protección de dicho contenido no está establecido y dependerá del tipo de acceso realizado por el raspador, la cantidad de información a la que se accede y se copia, el grado en que el acceso afecta negativamente al sistema del propietario del sitio y los tipos y formas. de prohibiciones de dicha conducta. [15]
Si bien 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 el caso 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 comunicarse a la atención de los usuarios para que una navegación concluir el contrato o licencia que se debe hacer cumplir. [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 a que el agregador de compras similar a Pinterest, Resultly, 'eliminara' el sitio de QVC para obtener datos de precios en tiempo real. . QVC alega que Resultly "rastreó excesivamente" el sitio minorista de QVC (supuestamente envió 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 provocó pérdidas de ventas para QVC. . [18] La demanda de QVC alega que el demandado disfrazó su rastreador web para enmascarar su dirección IP de origen y así impidió que QVC reparara rápidamente el problema. Este es un caso de scraping particularmente interesante porque QVC busca una indemnización 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 términos 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 envuelta eran ejecutables 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 estaba a favor de las prácticas comunes de contratación de navegación envuelta. [19]
En Facebook, Inc. contra Power Ventures, Inc. , un tribunal de distrito dictaminó en 2012 que Power Ventures no podía raspar 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 solicitando su anulación. [20] [21] En Associated Press v. Meltwater US Holdings, Inc. , un tribunal de EE. UU. responsabilizó a Meltwater de extraer y volver a publicar información de noticias de Associated Press, pero un tribunal del Reino Unido falló a favor de Meltwater.
El Noveno Circuito dictaminó en 2019 que el web scraping no violaba la CFAA en 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 Van Buren contra Estados Unidos que redujo 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 infringe las leyes de derechos de autor. [ cita necesaria ]
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 por parte del portal ofir.dk del sitio inmobiliario Home.dk no entra en conflicto con la ley 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 del desarrollo de la jurisprudencia. En el caso Ryanair Ltd contra Billigfluege.de GmbH , el Tribunal Superior de Irlanda dictaminó que el acuerdo " click-wrap " de Ryanair era jurídicamente vinculante. En contraste con las conclusiones del Tribunal de Distrito de los Estados Unidos, Distrito Este de Virginia y las del Tribunal Marítimo y Comercial Danés, 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 responsabilidad 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á recurrida ante el Tribunal Supremo de Irlanda. [26]
El 30 de abril de 2020, la Autoridad Francesa de Protección de Datos (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 pueden reutilizarse sin el conocimiento de la persona a quien pertenecen esos datos. [28]
En Australia, la Ley de spam de 2003 prohíbe algunas formas de recolección web, aunque esto sólo se aplica a las direcciones de correo electrónico. [29] [30]
Dejando algunos casos relacionados con la infracció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 los términos de uso que prohíben la extracción de datos será una violación de la ley contractual. 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 varias medidas para detener o ralentizar un bot. Algunas técnicas incluyen:
{{cite journal}}
: CS1 maint: multiple names: authors list (link)