Es probable que hayas escuchado el término web scraping con anterioridad. Y si no es así, puede que lo hayas encontrado en alguna de sus variantes: data scraping, scraping de datos, extracción de datos o raspado de precios. Algunas de ellas, tendrán que ver con aplicaciones concretas donde se suele utilizar dicha técnica.
En este post queremos adentrarnos sobre en qué consiste el web scraping, así como algunos de sus principales usos. Hablaremos de una extensión concreta de Google Chrome, Scraper, que nos servirá a la hora de realizar este tipo de investigaciones en línea a partir del lenguaje XPath.
No obstante, es importante conocer que se trata de una técnica que sigue levantando cierto revuelo, puesto que en algunos sectores, así como dependiendo del tipo de datos que deseamos obtener, puede rozar ciertos límites éticos. Es recomendable que tengas en cuenta el límite legal y de protección de datos al llevarla a cabo, cuestión que comentaremos más adelante.
¡Sigue leyendo para descubrir todo lo que debes saber de esta técnica!
Contenidos
¿Qué es el web scraping?
Cuando hablamos de web scraping, hacemos referencia a una técnica que consiste en extraer información de una página web determinada de forma automatizada. Se trata de un “raspado de datos” que nos proporcionará información en forma de código HTML.
Copiar los datos de una página web y hacer el trasvase de los mismos a una hoja de cálculo, se podría considerar web scraping manual. Con una herramienta de web scraping, programamos un bot crawler que entraría a la página web, haría el raspado de datos y seguidamente los copiaría en una base de datos.
El uso más corriente de esta técnica, suele ser el scraping de datos, no obstante, también es frecuente el scraping de imágenes, vídeos o cualquier otro tipo de archivo.
¿Para qué se utiliza el scraping?
Aunque a día de hoy aún se realizan muchas extracciones de datos de forma manual, es cierto que a la hora de tratar con datos a gran escala, cada vez son más las empresas que optan por técnicas de web scraping. A continuación te contamos algunas de las aplicaciones empresariales más habituales:
- Raspado de precios: Puesto que el precio juega un papel importante en la decisión de compra, muchas empresas utilizan el web scraping para inspeccionar las bases de datos de la competencia. El objetivo principal, será acceder a la información de precios para posteriormente hacer que sus ofertas sean destacables en sitios web de comparación.
- Marketing de contenidos: Otra práctica habitual de web scraping será el raspado de contenido, lo cual ayudará a obtener cierta información para trabajar posteriormente la estrategia de marketing de contenidos.
- Análisis SEO: Es interesante la realización del raspado de las propias SERP, a la hora de conseguir por ejemplo, un listado de Titles sobre una keyword concreta, lo cual puede ayudarnos posteriormente a depurar nuestras etiquetas.
- Protección de marca y producto: Otra aplicación de esta técnica, suele ser a la hora de monitorizar una marca o producto, puesto que se podrá realizar un seguimiento a través de todos los canales, asegurando que se cumplen las normativas establecidas.
- Generación de leads: Trata de tomar datos web a la hora de prospectar nuevos clientes. No obstante, con la RGPD la aplicación de este tipo de técnicas han tenido que modificar mucho los procesos.
¿Es el web scraping legal?
Como hemos comentado anteriormente, el uso de esta técnica en ciertos sectores, así como en la obtención de datos concretos, roza en ocasiones los límites éticos. Suele ser utilizada para obtener datos de otras páginas web, replicando así el contenido mediante el uso de una API y produciéndose una copia de información.
De esta manera, se puede incurrir en competencia desleal, violación de derechos de autor o propiedad intelectual y marcas registradas, e incluso infringir el reglamento RGPD. Más aún, se puede llegar a sobrecargar los servidores de los sitios scrapeados.
Por ello, te recomendamos que si optas por realizar alguna técnica de web scraping, te encuentres asesorado para asegurar que te sitúes dentro de los límites legales y protección de datos establecidos.
Aprende a utilizar la extensión Scraper con XPath
A la hora de realizar web scraping, te recomendamos una herramienta que trabaja a partir de la minería de datos. Scraper, es una extensión de Google Chrome que te servirá a la hora de obtener información en línea sobre una página web, exportando la información en forma de hoja de cálculo de manera rápida.
Esta extensión trabajará a partir del lenguaje XPath, donde a partir de expresiones conseguiremos esa recopilación de datos que posteriormente podremos trabajar sobre ellos.
¿Cuál es su funcionamiento?
- Para realizar el raspado en una web en concreto, es importante situarnos sobre aquel elemento o URL concreta donde queremos realizar el web scraping. Una vez hayamos instalado la extensión, al pulsar sobre el botón derecho de nuestro ratón, nos aparecerá una nueva opción “Scrape similar”. Al hacer clic, nos mostrará una pantalla, donde según la expresión XPath que estemos utilizando, sacará un listado de resultados, sobre los que posteriormente podremos trabajar exportando su contenido. Para el ejemplo, habremos seleccionado el raspado de datos sobre los encabezados h2 que se encuentran establecidos en un post en concreto. De esta manera, la herramienta nos proporcionará un listado de todos los h2 que conformen este post en concreto.
- En el caso de que nuestro objetivo sea realizar el raspado en la propia SERP, servirá con que realizemos una búsqueda de la keyword concreta. Una vez llegados a este punto, deberemos situarnos sobre el elemento concreto que queramos analizar. En este caso, los Titles en los principales resultados de búsqueda. Del mismo modo, pulsando el botón derecho del ratón, nos ofrecerá la posibilidad de “Scrape similar”. A continuación, nos mostrará a partir de una expresión concreta de XPath, los Titles de los principales resultados de búsqueda, pudiendo posteriormente exportarlo a un documento de cálculo, o en su caso, al portapapeles.
¿Cómo utilizar el lenguaje XPath?
XPath o también denominado XML Path Language, es el lenguaje capaz de construir expresiones que recorren y procesan un documento XML concreto. A partir de este lenguaje, podemos buscar y seleccionar elementos, siempre teniendo en cuenta la estructura jerárquica XML.
Más en concreto, la herramienta Scraper, presentada anteriormente, utilizará este lenguaje a la hora de entender las expresiones sobre aquellos elementos que queremos buscar y seleccionar dentro del documento XML.
Es importante conocer, que un documento XML es procesado de manera que se va construyendo, lo que denominamos un árbol de nodos. Este árbol comenzará a partir de un elemento raíz y se diversificará en diferentes elementos que colgarán de él. El nodo raíz se identificará por /.
Finalmente, presentará nodos hoja, vacíos y que únicamente contienen atributos: comentarios, textos, instrucciones, etc. Los atributos se identificarán a partir de @. Como caso especial, cabe destacar los denominados nodos atributo, puesto que un nodo puede tener tantos atributos como desee, creando para cada uno de ellos un nodo atributo.
Llegados a este punto, te estarás preguntando cómo puedes obtener la expresión de XPath concreta, para seleccionar aquello sobre lo que quieres realizar el scraping.
Una opción, será a partir de una inspección del elemento. Situándonos sobre el mismo, al hacer clic en el botón derecho del ratón, nos encontraremos con la opción “Inspeccionar” en el apartado de “Elementos”. Situándonos en ese fragmento, al haber seleccionado anteriormente el elemento, podremos hacer clic de nuevo en el botón derecho del ratón, apareciendo una pantalla, donde al hacer clic en “copiar”, nos dará la opción de “Copy XPath”. Obtendremos así la expresión concreta para poder posteriormente trabajar en el scraping de dicho elemento.
Un funcionamiento similar, seguirá la propia herramienta de Scraper, puesto que nos ahorrará dicho proceso, sacando directamente la expresión de XPath, al situarnos en el elemento en cuestión.
Expresiones XPath frecuentes para SEO
A la hora de realizar scraping, es importante haber establecido previamente nuestro objetivo. Puesto que esto nos ayudará a entender sobre qué tipo de elementos deseamos realizar el raspado de datos. Si la intención final es mejorar el SEO on page de nuestra web, existen ciertas expresiones que nos ayudarán a conocer los datos concretos sobre los que deseamos hacer el scraping.
- Title: Si buscamos obtener el título de una página en concreto: //title
- Meta descripción: Cuando nuestra intención es obtener la meta descripción establecida para una página: //meta[@name=’description’]/@content
- Encabezados: Si queremos ver todos los encabezados que presenta un documento, diferenciando de h1, h2 y h3: //h1, //h2, //h3.
- Alt de una imagen: Si queremos extraer el texto alternativo de una imagen: //img/@alt
- Imágenes sin atributos alt: Para extraer aquellas imágenes a las cuales no hayamos establecido un texto alternativo: //img[not(@alt)]/@src
- Links del documento: Extracción de los links que presenta un documento: //@href
- Anchor text: Extrae el anchor text para un enlace: //a/text()
Sin duda, el web scraping nos ofrece amplias posibilidades a la hora de extraer información de una página web. No obstante, la tarea principal será el proceso e interpretación de los datos de la forma adecuada. Es importante valorar la elección de aquellos sitios web que estamos monitoreando, así como el nivel de profundidad y nuestros objetivos concretos.
Desde Online Zebra somos conscientes de la gran cantidad de contenido que nos ofrece el mundo de Internet. Es por ello, que la estrategia a la hora de implementar ciertas técnicas de web scraping, pasa por el análisis y la interpretación de los resultados. Como hemos comentado anteriormente, el uso de este tipo de técnicas, debe pasar el filtro de la legalidad y el respeto de la RGPD, por lo que te recomendamos que te dejes asesorar por profesionales.