Los motores de búsqueda, como Google, utilizan desde hace tiempo los de­no­mi­na­dos ra­s­trea­do­res web o crawlers, que exploran Internet en busca de términos definidos por el usuario. Los ra­s­trea­do­res son tipos es­pe­cia­les de bots, que visitan una página web tras otra para generar aso­cia­cio­nes con términos de búsqueda y ca­te­go­ri­zar­los. El primer ra­s­trea­dor web se creó ya en 1993, cuando se presentó el primer motor de búsqueda: Ju­m­p­s­ta­tion.

Entre estas técnicas de rastreo se incluye el web scraping o web ha­r­ve­s­ti­ng. Te ex­pli­ca­mos cómo funciona, para qué se utiliza y cómo se puede bloquear en caso necesario.

Web Scraping: de­fi­ni­ción

Durante el web scraping (del inglés scraping = arañar/raspar) se extraen y almacenan datos de páginas web para ana­li­zar­los o uti­li­zar­los en otra parte. Por medio de este raspado web se almacenan diversos tipos de in­fo­r­ma­ción: por ejemplo, datos de contacto, tales como di­re­c­cio­nes de correo ele­c­tró­ni­co o números de teléfono, o también términos de búsqueda o URL. Estos se almacenan en bases de datos locales o tablas.

De­fi­ni­ción

Con el web scraping se leen textos de páginas web para obtener in­fo­r­ma­ción y al­ma­ce­nar­la, de forma co­m­pa­ra­ble al proceso au­to­má­ti­co de copiado y pegado. En el caso de la búsqueda de imágenes, el proceso se denomina ace­r­ta­da­me­n­te image scraping.

¿Cómo funciona el web scraping?

Dentro del scraping hay di­fe­re­n­tes modos de fu­n­cio­na­mie­n­to, aunque en general se di­fe­re­n­cia entre el scraping au­to­má­ti­co y el manual. El scraping manual define el copiado y pegado manual de in­fo­r­ma­ción y datos, como quien recorta y guarda artículos de periódico y solo se lleva a cabo si se desea encontrar y almacenar alguna in­fo­r­ma­ción concreta. Es un proceso muy laborioso que raras veces se aplica a grandes ca­n­ti­da­des de datos.

En el caso del scraping au­to­má­ti­co, se recurre a un software o un algoritmo que analiza di­fe­re­n­tes páginas web para extraer in­fo­r­ma­ción. Se utiliza software es­pe­cia­li­za­do según el tipo de página web y el contenido. Dentro del scraping au­to­má­ti­co, se di­fe­re­n­cian varios modos de proceder:

  • Ana­li­za­dor si­n­tá­c­ti­co: los ana­li­za­do­res si­n­tá­c­ti­cos (o parsers) se utilizan para convertir un texto en una nueva es­tru­c­tu­ra. Por ejemplo, en los análisis de HTML, el software lee un documento HTML y almacena la in­fo­r­ma­ción. Un ana­li­za­dor DOM utiliza la re­pre­se­n­ta­ción de co­n­te­ni­dos del lado del cliente en el navegador para extraer datos.
  • Bots: un bot es un software dedicado a realizar de­te­r­mi­na­das tareas y au­to­ma­ti­zar­las. En el caso del web ha­r­ve­s­ti­ng, los bots se utilizan para examinar páginas web au­to­má­ti­ca­me­n­te y recopilar datos.
  • Texto: aquellos que tienen ex­pe­rie­n­cia con la línea de comandos pueden apro­ve­char la función grep de Unix para buscar en la web de­te­r­mi­na­dos términos en Python o Perl. Este es un método muy sencillo para extraer datos, aunque requiere más trabajo que la uti­li­za­ción de un software.
Nota

En este tutorial te enseñamos qué hay que tener en cuenta para el web scraping con Python. Para recopilar los datos, puede in­te­grar­se el WebDriver de Selenium sin ningún problema.

¿Con qué fin se utiliza el web scraping?

El web scraping se utiliza para una gran variedad de tareas, por ejemplo, para recopilar datos de contacto o in­fo­r­ma­ción especial con gran rapidez. En el ámbito pro­fe­sio­nal, el scraping se utiliza a menudo para obtener ventajas respecto a la co­m­pe­te­n­cia. De esta forma, por medio del ha­r­ve­s­ti­ng de datos, una empresa puede examinar todos los productos de un co­m­pe­ti­dor y co­m­pa­rar­los con los propios. El web scraping también resulta valioso en relación con los datos fi­na­n­cie­ros: es posible leer datos desde un sitio web externo, or­ga­ni­zar­los en forma de tabla y después ana­li­zar­los y pro­ce­sar­los.

Google es un buen ejemplo de web scraping. El buscador utiliza esta te­c­no­lo­gía para mostrar in­fo­r­ma­ción me­teo­ro­ló­gi­ca o co­m­pa­ra­cio­nes de precios de hoteles y vuelos. Muchos de los portales actuales de co­m­pa­ra­ción de precios también utilizan el scraping para re­pre­se­n­tar in­fo­r­ma­ción de di­fe­re­n­tes sitios web y pro­vee­do­res.

¿Es legal el web scraping?

El scraping no siempre es legal. En primer lugar, los scrapers deben tener en cuenta los derechos de propiedad in­te­le­c­tual de los sitios web. El web scraping tiene co­n­se­cue­n­cias muy negativas para algunas tiendas online y pro­vee­do­res, por ejemplo, si el po­si­cio­na­mie­n­to de su página se ve afectado debido a los agre­ga­do­res. No es raro, por lo tanto, que una empresa se querelle contra un portal de co­m­pa­ra­cio­nes para impedir el web scraping. En uno de estos casos, el Tribunal Superior Regional de Fráncfort dictaminó en 2009 que una compañía aérea debía permitir el scraping por parte de portales co­m­pa­ra­ti­vos porque, al fin y al cabo, su in­fo­r­ma­ción es de libre acceso. No obstante, la aerolínea tenía la po­si­bi­li­dad de recurrir a medidas técnicas para evitarlo.

El scraping es legal, por lo tanto, siempre y cuando los datos recabados estén di­s­po­ni­bles li­bre­me­n­te para terceros en la web. Para ga­ra­n­ti­zar la legalidad del web scraping, hay que tener en co­n­si­de­ra­ción lo siguiente:

  • Observar y cumplir con los derechos de propiedad in­te­le­c­tual. Si los datos están pro­te­gi­dos por estos derechos, no se pueden publicar en ninguna otra parte.
  • Los ope­ra­do­res de las páginas tienen derecho a recurrir a procesos técnicos para evitar el web scraping que no pueden ser eludidos.
  • Si, para la uti­li­za­ción de datos, se requiere el registro de usuarios o un contrato de uti­li­za­ción, estos datos no podrán ser apro­ve­cha­dos mediante scraping.
  • No se permite la ocu­l­ta­ción de pu­bli­ci­dad, de términos y co­n­di­cio­nes, ni de descargos de re­s­po­n­sa­bi­li­dad mediante te­c­no­lo­gías de scraping.

Aunque el scraping está permitido en muchos casos, puede uti­li­zar­se con fines de­s­tru­c­ti­vos o incluso ilegales. Por ejemplo, esta te­c­no­lo­gía se utiliza a menudo para enviar spam. Los emisores pueden apro­ve­char­la para, por ejemplo, acumular di­re­c­cio­nes de correo ele­c­tró­ni­co y enviar mensajes de spam a estos de­s­ti­na­ta­rios.

¿Cómo se puede bloquear el web scraping?

Para bloquear el scraping, los ope­ra­do­res de sitios web pueden adoptar di­fe­re­n­tes medidas. Por ejemplo, el archivo robots.txt se utiliza para bloquear bots de bu­s­ca­do­res. Por lo tanto, el scraping au­to­má­ti­co también se evita por medio de bots de software. Asimismo, es posible bloquear di­re­c­cio­nes IP de bots. Los datos de contacto e in­fo­r­ma­ción personal se pueden ocultar de manera selectiva: los datos sensibles, tales como los números de teléfono, se pueden pro­po­r­cio­nar en forma de imagen o como CSS, lo que dificulta el scraping de los datos. Además, existen numerosos pro­vee­do­res de servicios antibot de pago que pueden es­ta­ble­cer un firewall. Con Google Search Console también es posible co­n­fi­gu­rar no­ti­fi­ca­cio­nes para informar a los ope­ra­do­res de sitios web en caso de que sus datos se utilicen para scraping.

Por favor, ten en cuenta el aviso legal relativo a este artículo.

Ir al menú principal