Nuestros alumnos del MBA en Periodismo de Datos elaboraron una serie de tutoriales como trabajo final en la disciplina Low Code: Transformando datos en pautas sin programación, impartidos por el profesor Adriano Belisário. Este mes podrás ver algunos de sus trabajos y divertirte con los tutoriales que crearon. Hoy puedes consultar el tutorial realizado por Carolina Timm.
Web Scraper: un tutorial con el inicio, la mitad y el final de un ejercicio de scraping + consejos prácticos
Hola, chicos. ¿Estás cansado de pasar horas copiando y pegando información que claramente podría estar en una tabla lista para descargar y no publicada en un sitio web?
¿Te gustaría tener una forma sencilla de recopilar toda la información que necesitas a la vez? ¿Qué tal una tabla con datos estructurados de tu elección extraídos al final de la colección?
Pues bien, tranquilo, lo que estás buscando se llama data scraping, un método de recopilación de información de forma automatizada. Aquí aprenderemos sobre una herramienta en particular: Web Scraper .
¿Por qué leer este tutorial?
Al final de la lectura, sabrás cómo instalar y utilizar Web Scraper para crear algo llamado Sitemap que contiene Selectores capaces de navegar de forma autónoma y extraer información según lo determines. Para guiarnos en este tutorial, extraeremos Rotten Tomatoes (un sitio de reseñas de películas y series), más específicamente contenido titulado 200 mejores películas LGBTQ+ de todos los tiempos .
Contextualizando el sitio web elegido
Los datos que son de interés en este tutorial se encuentran en esta url .
Tenga en cuenta que el ranking se distribuye en cuatro páginas de resultados, en este orden de presentación: 200-151; 150-101; 100-51; 50-1. La página de inicio contiene información básica: cartel de la película, título, año de estreno, rating (el clásico “tomatómetro” del sitio), si existe consenso crítico, sinopsis, reparto y posición en el ranking.
Es posible localizar y leer el contenido del sitio web, pero los elementos no están organizados de forma estructurada que permita una fácil extracción, manejo y análisis de los datos allí disponibles. Sin scraper, sería necesario organizar los elementos manualmente, repitiendo el proceso de selección de cada dato de cada película 200 veces (literalmente). Es decir, sería una tarea repetitiva y llevaría tiempo. Así que, de aquí vamos de la mano de una herramienta llamada Web Scraper .
Conociendo Web Scraper
webscraper.io es una extensión gratuita que puedes instalar en tu navegador en unos minutos. A primera vista, antes de la instalación, esto es lo que parece:
Simplemente haga clic en Agregar la extensión a su navegador y autorice el permiso de acceso. Para verificar si la instalación fue efectiva, vaya a Extensiones ícono y el nombre de Web Scraper ya aparecen allí.
Paso a paso
Primero, instale Web Scraper en su navegador.
Acceder a tomates podridos
En cualquier punto de la página, haga clic derecho y haga clic en Inspeccionar.
Si la sección se abre en el lateral de su navegador, le recomiendo moverla hacia la parte inferior. Para ello simplemente haz clic en los tres puntos de la esquina derecha y elige el icono que ilustra esta forma de visualización:
A continuación, ubique la Web Scraper al final de la primera línea.
Al hacer clic en él, la extensión muestra tres contenidos:
> Sitemaps , donde se “guardan” los sitemaps creados o importados en su navegador (en este momento, inmediatamente después de la instalación, esta pestaña estará vacía);
> Mapa del sitio , espacio del mapa del sitio “actual”;
> Crear nuevo mapa del sitio , que tiene dos opciones:
Crear Sitemap es la opción que nos interesa en estos momentos. Después de hacer clic en él, deberás completar dos campos y terminar haciendo clic en Crear mapa del sitio .
> Nombre del mapa del sitio : el nombre que identificará su mapa del sitio p. Debe contener únicamente letras minúsculas, sin tildes y sin espacios. Aquí se llama Filmes_lgbtq
> URL de inicio : copia y pega la URL de la página: https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/
Tan pronto como haga clic en Crear mapa del sitio , irá a la pestaña Mapa del sitio Filmes_lgbtq, que ya le presenta el campo de selectores.
Vaya y haga clic en Agregar nuevo selector . El primer selector que crearemos reunirá toda la información que acompaña a cada una de las películas: cartel de la película, título, año de estreno, valoración de la web, sinopsis, reparto y posición en el ranking. Aquí se llamará película. En Tipo , se enfrentará a varias opciones:
Nuestro selector es Element . casilla Múltiple , ya que queremos que el selector siga navegando por el resto de películas y seleccionando el patrón de información que le indicamos:
Para seleccionar, haga clic en Seleccionar . Luego, basta con mover el cursor sobre la página hasta seleccionar todos los elementos de la primera película (póster, título, año, etc.). Luego, desplácese hacia abajo en la página y haga la misma selección en la película a continuación. Bien, en este punto, Web Scraper ya entendió su idea y seleccionará las siguientes en esta página.
Confirme la acción haciendo clic en Listo seleccionando . Verifique si Múltiple está confirmado y guarde. Ya tenemos nuestro primer selector \o/
A partir de ahora crearemos selectores dentro de este selector principal para cada una de las informaciones que nos interesen.
Sin embargo, antes de eso, paréntesis: si hace clic en Vista previa de datos y verifica la información, notará que solo se seleccionaron las películas de la primera página. Vaya, ¿entonces necesito crear un mapa del sitio diferente para cada una de las cuatro páginas y juntar todo en un editor de hojas de cálculo después de exportar? No, la buena noticia es que no necesitas todo ese trabajo. Simplemente cambie la URL .
Haga clic en las otras páginas del ranking, una por una, y anote la URL de cada una. ¿Notaste cómo cambia el número al final?
https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/2/
https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/ 3/
https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/4/
En Sitemap Filmes_lgbtq , tendrás estas alternativas:
Elija Editar metadatos .
En URL de inicio , la cambiaremos a https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/[1-4 ] De esta manera, se eliminarán las cuatro páginas.
Después de guardar este cambio, haga clic nuevamente en Sitemap Filmes_lgbtq y regrese a Selectores . Ahora, en lugar de agregar un nuevo selector "principal", crearemos selectores dentro del selector ya creado. Para hacer esto, haga clic en la película:
Observe que ahora está indicado junto a _root en la parte superior. Ahora, agregue un nuevo selector. ¿Empezamos seleccionando el título? El Tipo ahora es Texto y ya no es necesario seleccionar la Múltiple , después de todo, solo hay un título dentro de nuestro selector principal de “películas”. Con el cursor, seleccione solo la información del título de la película y repita esta misma selección con la película a continuación.
WebScraper ya entiende lo que desea seleccionar como "título". Para confirmar, puede consultar nuevamente la Vista previa de datos.
Guarda el selector ☺
Con esta táctica seguiremos creando selectores dentro del selector principal de “películas”:
Un selector para cada información: título, año, cartel, ranking, reparto, sinopsis y valoración. ¿Todos serán de tipo texto ? Mmm, casi. La única excepción es el cartel, que será Tipo Imagen .
¿Ya se han creado todos los selectores? ¡Excelente!
En el mapa del sitio Filmes_lgbtq , ahora mira la Scrape . Sí, es este botón el que hace que el raspado se realice automáticamente. Sin tener que cambiar los campos de velocidad, al hacer clic en Iniciar raspado , la extensión abrirá una nueva ventana y recopilará datos de los selectores creados. No cierres la ventana con el ícono de Web Scraper , simplemente deja que suceda ☺
Después de la notificación del final del scraping, en la Sitemap Filmes_lgbt , puede extraer la información en formato csv > Exportar datos como csv.
Una vez exportada, así se verá su hoja de cálculo.
Además, también puedes exportar el mapa del sitio , que se generará así:
{"_id":"filmes_lgbtq","startUrl":["https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/[1-4]"],"selectores" :[{"id":"movie","type":"SelectorElement","padres electores":["_root"],"selector":"div.countdown-item:nth-of-type(n+2)","multiple":true,"delay":0},{"id": "title","type":"SelectorText","parentSelectors":["película"],"selector":"h2 a","multiple":false,"regex":"","delay":0},{"id":"year","type":"SelectorText","parentSelectors":["película"], "selector":"span.subtle","multiple":false,"regex":"","delay":0},{"id":"poster","type":"SelectorImag y","parentSelectors":["movie"],"selector":"img","multiple":false,"delay":0},{"id":"ranking","type":"SelectorText" ,"parentSelectors":["movie"],"selector":"div.countdown-index","multiple":false,"regex":"", "delay":0},{"id":"cast","type":"SelectorText","parentSelectors":["film"],"selector":"div.cast","multiple":false, "regex":"","delay":0},{"id":"synopsis","type":"SelectorText","parentSelectors":["película"], "selector":"div.synopsis","multiple":false,"regex":"","delay":0},{"id":"evaluación","type":"SelectorText","parentSelectors" :["película"],"selector":"span.tMeterScore","multiple":false,"regex":"","delay":0}]}
Como curiosidad, este es el contenido que pegas en la Importar Sitemap cuando quieres consultar este Sitemap en otro navegador o compartirlo para que otros usuarios puedan acceder a él.
Esta es nuestra línea de meta. ¡Buenas prácticas y larga vida con Web Scraper!
Por favor publique sus comentarios y reseñas