Nuestros estudiantes del MBA en Periodismo de Datos elaboraron una serie de tutoriales como proyecto final del curso Low Code: Transformando datos en noticias sin programación, impartido por el profesor Adriano Belisário. Este mes puedes consultar algunos de sus trabajos y... Disfruta de las aventuras con los tutoriales que han creado. Hoy puedes ver el tutorial de Carolina Timm.
Web Scraper: un tutorial con el inicio, el desarrollo y el final de un ejercicio de scraping + consejos prácticos
Hola a todos. ¿Cansados de pasar horas copiando y pegando información que podría estar claramente en una hoja de cálculo descargable en lugar de dispersa en un sitio web?
¿Te gustaría una forma sencilla de recopilar toda la información que necesitas a la vez? ¿Qué te parece una tabla con datos estructurados de tu elección, extraídos al final del proceso de recopilación de datos?
Así que tranquilo, lo que buscas se llama raspado de datos, un método de recopilación de información automatizada. Aquí aprenderemos sobre una herramienta en particular: Raspador web.
¿Por qué leer este tutorial?
Al finalizar esta lectura, sabrá cómo instalar y utilizar el Raspador web para crear algo llamado Mapa del sitio conteniendo Selectores Capaz de navegar de forma autónoma y extraer información según sus necesidades. Para guiarnos en este tutorial, realizaremos un scraping de Rotten Tomatoes (un sitio de reseñas de películas y series), más específicamente contenido titulado Las 200 mejores películas LGBTQ+ de todos los tiempos.
Contextualizando el sitio web elegido
Los datos relevantes para este tutorial se encuentran en este... url.
Tenga en cuenta que la clasificación se distribuye en cuatro páginas de resultados, en este orden: 200-151; 150-101; 100-51; 50-1. En la página principal, encontrará información básica: póster de la película, título, año de estreno, calificación (el clásico "Tomatómetro" del sitio), si existe consenso crítico, sinopsis, reparto y posición en la clasificación.
Es posible localizar y leer el contenido del sitio web, pero los elementos no están organizados de forma estructurada para facilitar la extracción, manipulación y análisis de los datos disponibles. Sin un scraper, sería necesario organizar los elementos manualmente, repitiendo el proceso de selección de cada pieza de información para cada película 200 veces (literalmente). En otras palabras, sería una tarea repetitiva y laboriosa. Por lo tanto, a partir de ahora, trabajaremos en conjunto con una herramienta llamada... Raspador web.
Conociendo Web Scraper
webcraper.io Es una extensión gratuita que puedes instalar en tu navegador en tan solo unos minutos. A simple vista, antes de instalarla, se ve así:
Simplemente haga click Añadir Añade la extensión a tu navegador y autoriza el acceso. Para comprobar si la instalación se realizó correctamente, ve a Extensiones y comprobar si el icono y el nombre de Raspador web Ya están apareciendo allí.
Paso a paso
Primero, instale Web Scraper en su navegador.
Acceso Tomates podridos
En cualquier lugar de la página, haga clic derecho y seleccione Inspeccionar.
Si la sección se abre en el lateral de su navegador, le recomiendo moverla a la parte inferior. Para ello, simplemente haga clic en los tres puntos de la esquina superior derecha y seleccione el icono que ilustra este método de visualización.
A continuación, localice la pestaña. Raspador web al final de la primera línea.
Al hacer clic en él, la extensión muestra tres piezas de contenido:
>Sitemaps, donde se "almacenan" los mapas del sitio creados o importados en su navegador (en este momento, justo después de la instalación, esta pestaña estará vacía);
>Mapa del sitio, el espacio del mapa del sitio "actual";
>Crear nuevo mapa del sitioque ofrece dos opciones:
Crear mapa del sitio Esta es la opción que nos interesa en este momento. Tras hacer clic en ella, deberá rellenar dos campos y finalizar haciendo clic en... Crear mapa del sitio.
>Nombre del mapa del sitioEl nombre que identificará a tu Sitiop. Debe contener solo minúsculas, sin acentos ni espacios. Aquí se llama filmes_lgbtq
>URL de inicioCopia 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 sitioLuego serás llevado a la pestaña Mapa del sitio filmes_lgbtq, que te presentará el campo selector.
Ir Haga clic en Añadir nuevo selectorEl primer selector que crearemos recopilará toda la información de cada película: póster, título, año de estreno, clasificación en el sitio web, sinopsis concisa, reparto y posición en el ranking. Aquí se llamará "película". TipoSe le presentarán varias opciones:
Nuestro selector es ElementoA continuación, compruebe el cuadrado. MúltiplePorque queremos que el selector siga navegando por las demás películas y seleccionando el patrón de información que le indiquemos:
Para seleccionar, haga clic en SeleccionarLuego, simplemente mueve el cursor por la página hasta seleccionar todos los elementos de la primera película (póster, título, año, etc.). A continuación, desplázate hacia abajo y realiza la misma selección para la película inmediatamente inferior. Listo, el web scraper ha comprendido tu idea y seleccionará las siguientes en esta página.
Confirme la acción haciendo clic en Terminado de seleccionarComprueba si Múltiple Confirmado y guardado. ¡Ya tenemos nuestro primer selector!
A partir de ahora, crearemos selectores dentro de este selector principal para cada pieza de información que nos interese.
Sin embargo, antes de eso, unas palabras: si haces clic en Vista previa de datos Al revisar la información, notarás que solo se seleccionaron las películas de la primera página. Un momento, ¿entonces necesito crear un mapa del sitio diferente para cada una de las cuatro páginas y luego combinar todo en una hoja de cálculo después de exportar? No, la buena noticia es que no necesitas hacer todo ese trabajo. Simplemente cambie la URL..
Haga clic en las páginas restantes del ranking, una por una, y observe... URL De cada uno. ¿Notaste cómo el cambio es 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/
Em Mapa del sitio películas_lgbtqTendrás estas opciones:
Elección Editar metadatos.
Em URL de inicioVamos a cambiarlo a https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/[1-4Por lo tanto, las cuatro páginas serán raspadas.
Después de guardar este cambio, haga clic nuevamente. Mapa del sitio películas_lgbtq y volver a SelectoresAhora, en lugar de añadir un nuevo selector "principal", crearemos selectores dentro del selector ya creado. Para ello, haga clic en "Película":
Observe que ahora se indica al lado de _raíz En la cima. Ahora eso está mejor. Añade un nuevo selector. ¿Empezamos por seleccionar el título? Tipo ahora es Texto y ya no es necesario seleccionar la opción MúltipleFinalmente, solo hay un título en nuestro selector principal de películas. Con el cursor, seleccione solo la información del título y repita esta misma selección con la película que aparece a continuación.
WebScraper ya ha definido el título que desea seleccionar. Para confirmar, puede volver a consultar la vista previa de datos.
Guarda el selector ☺
Con esta táctica, continuaremos creando selectores dentro del selector principal de "película":
Un selector para cada dato: título, año, póster, clasificación, reparto, sinopsis y calificación. Todos serán... Teclee el textoMmm, casi. La única excepción es el póster, que será... Tipo de imagen.
¿Ya se crearon todos los selectores? ¡Genial!
Em Mapa del sitio películas_lgbtqAhora mira la opción. RasparSí, este es el botón que activa el scraping automáticamente. Sin necesidad de cambiar la velocidad, al hacer clic en él, el proceso se iniciará automáticamente. Empezar a rasparLa extensión abrirá una nueva ventana y recopilará los datos de los selectores creados. No cierre la ventana con el icono de Web Scraper.Simplemente deja que suceda ☺
Después de la notificación de que el raspado se ha completado, en la pestaña Mapa del sitio películas_lgbtPuede extraer la información en formato CSV. Exportar datos como CSV
Después de exportar, así es como queda su hoja de cálculo
Además, también puedes exportar los tuyos propios. Mapa del sitio, que se generará de la siguiente manera:
{“_id”:”filmes_lgbtq”,”startUrl”:[“https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/[1-4]”],”selectors”:[{“id”:”filme”,”type”:”SelectorElement”,”parentSelectors”:[“_root”],”selector”:”div.countdown-item:nth-of-type(n+2)”,”multiple”:true,”delay”:0},{“id”:”titulo”,”type”:”SelectorText”,”parentSelectors”:[“filme”],”selector”:”h2 a”,”multiple”:false,”regex”:””,”delay”:0},{“id”:”ano”,”type”:”SelectorText”,”parentSelectors”:[“filme”],”selector”:”span.subtle”,”multiple”:false,”regex”:””,”delay”:0},{“id”:”poster”,”type”:”SelectorImage”,”parentSelectors”:[“filme”],”selector”:”img”,”multiple”:false,”delay”:0},{“id”:”ranking”,”type”:”SelectorText”,”parentSelectors”:[“filme”],”selector”:”div.countdown-index”,”multiple”:false,”regex”:””,”delay”:0},{“id”:”elenco”,”type”:”SelectorText”,”parentSelectors”:[“filme”],”selector”:”div.cast”,”multiple”:false,”regex”:””,”delay”:0},{“id”:”sinopse”,”type”:”SelectorText”,”parentSelectors”:[“filme”],”selector”:”div.synopsis”,”multiple”:false,”regex”:””,”delay”:0},{“id”:”avaliação”,”type”:”SelectorText”,”parentSelectors”:[“filme”],”selector”:”span.tMeterScore”,”multiple”:false,”regex”:””,”delay”:0}]}
Para su información, este es el contenido que debe pegar en la opción. Importar mapa del sitio Cuando quieras consultar esto Mapa del sitio en otro navegador o compartir para que otros usuarios puedan acceder a él.
Esta es nuestra meta. ¡Mejores prácticas y larga vida con Web Scraper!