Web scraping en R: aspectos importantes que debes tener en cuenta
Cuando hayas decidido realizar web scraping en R, hay algunas cosas que debes comprender.
- Comprender los fundamentos del web scraping y del HTML
Cuando se trata de extraer datos de la web con R, primero tienes que aprender y comprender los fundamentos de la extracción de datos y del HTML. Tienes que aprender a acceder al código HTML a través del navegador y familiarizarte con todos los conceptos básicos del HTML y los lenguajes de marcado. Esto sin duda te preparará para extraer datos.
Una vez que conozcas estos conceptos básicos, el scraping con R te resultará mucho más fácil de lo que crees. A continuación, te presentamos algunos puntos que te ayudarán en el trabajo de scraping web con R.
- Conceptos básicos de HTML
Desde que Tim Berners-Lee la propuso por primera vez a finales de los años 80, la idea de una plataforma de documentos [la World Wide Web] conectados entre sí a través de HTML es la base de todas las páginas web y de la propia web. Cuando escribes una dirección en el navegador, este descarga y muestra la página.
Pero, ¿cómo se lleva a cabo exactamente el web scraping con R? Bueno, antes de hacer nada, primero tienes que aprender cómo está estructurada exactamente la página web y de qué se compone. Verás que una página web tiene imágenes y colores bonitos, pero el documento HTML subyacente es de naturaleza bastante textual.
El documento HTML es la representación técnica de una página web, ya que indica a los navegadores qué elementos HTML deben mostrar y cómo deben mostrarlos exactamente. El documento HTML es algo que debes analizar y comprender si deseas extraer datos de una página web con éxito.
- Etiquetas y elementos HTML
Al revisar el código HTML, te encontrarás con elementos como <title>, </title>, <body>, </body> y muchos más. Estos se conocen como etiquetas HTML, que son marcadores especiales dentro del documento HTML. Todas las etiquetas cumplen una función importante, y cada una de ellas es interpretada de manera diferente por el navegador web.
Por ejemplo, «<title>» proporciona al navegador el título de la página web, y «<body>» le proporciona el contenido principal de la página web. Además, las etiquetas se conocen como marcadores de apertura y cierre que contienen contenido entre ellos, o bien se cierran por sí mismas. Pero el tipo de estilo que sigue depende en gran medida del caso de uso y del tipo de etiqueta.
Las etiquetas también incluyen atributos que proporcionan datos e información HTML adicionales relevantes para la etiqueta HTML a la que pertenecen. Una vez que adquieras un conocimiento adecuado del concepto principal del archivo HTML, las tablas HTML, el árbol de documentos, las etiquetas y los elementos HTML específicos, todo lo que te interesa te resultará mucho más claro.
Entonces, ¿cuál es la conclusión principal aquí? Bueno, la página HTML se considera un formato estructurado combinado con una jerarquía de etiquetas, que el rastreador utilizará en el proyecto de web scraping para extraer toda la información necesaria.
- Análisis de una página web con R
Ahora es el momento de realizar el web scraping en una página web de destino con R. Recuerda una cosa: solo vas a raspar la superficie del contenido HTML, por lo que aquí no extraerás los marcos de datos, sino que imprimirás el código HTML completo simple.
Por lo tanto, si quieres extraer todos los elementos de una página web y comprobar cómo se muestra, debes utilizar redLines() para trazar todas las líneas del contenido HTML dentro de un entorno de desarrollo y generar una representación del mismo.
Ahora, tienes que imprimir «flat_html», y la consola de R te mostrará los resultados que necesitas, que serán algo así:
Fuente de la imagen:
Recuerda una cosa claramente: el scraping de sitios web se hace solo por diversión, y todos los expertos en ciencia de datos lo saben muy bien. Sin duda será un experimento emocionante, y puedes extraer fácilmente varias páginas de un sitio web, como el sitio web de IMDB, en tu sistema operativo.
«Tanto si extraes la primera página como una sola página de un sitio web, si lo haces correctamente, será un éxito. Aunque la extracción de archivos HTML pueda darte un resultado impresionante, no se trata de un documento HTML. Esto se debe a que redLines() lee el documento correctamente, pero no tiene en cuenta la estructura del documento.
Pero esto es solo una ilustración para mostrarte exactamente cómo es el scraping de navegadores web mediante el método de scraping web con R. El código real será mucho más complicado. Sin embargo, hay una lista de bibliotecas disponibles que simplificarán enormemente el trabajo de scraping web con R.