AnalyticsPower BITutoriales

Tutorial Power BI: Analiza y compara canales de YouTube

Hoy os traemos un tutorial para extraer datos de canales de YouTube para su análisis. Todo ha surgido de una duda que me planteó Ferrán Morales sobre la mejor manera de descargar los datos de los vídeos publicados en un canal de esta red social.

Me pareció muy interesante y estuve investigando para poder resolver su duda (igual que él me ha resuelto tantas dudas antes) y poder también publicarlo como tutorial en el blog. El reto consistía en que analizar datos de tu canal es relativamente sencillo, pero de otros canales es más complejo.

En el siguiente punto de enseño como descargar datos de tu canal, pero si quieres comparar canales de otros usuarios puedes saltarte ese paso.

Extraer datos de tu canal de YouTube

Cuando quieres analizar datos de tu canal todo es mucho más fácil. Puedes usar YouTube Studio que es la opción nativa para el análisis de suscriptores, visualizaciones, etc. Si queremos extraer los datos para estudiarlos en soluciones externas como Power BI podríamos exportar manualmente los datos de la siguiente manera:

  • Accedemos a la sección “Estadísticas” (Analytics) de YouTube Studio:
Estadísticas YouTube Studio - Ver Más
Estadísticas YouTube Studio – Ver Más
  • Pulsamos en el botón “Ver más” de la gráfica deseada:
Estadísticas YouTube Studio - Descargar
Estadísticas YouTube Studio – Descargar
  • Pulsamos el botón de la flecha hacia abajo para descargar los datos (Arriba a la derecha) y veremos que podemos descargar los datos en formato csv o en un documento Google SpreadSheet.

A partir de ahí, puedes usar los ficheros descargados como origen de datos en Power BI.

Extraer datos de otros canales

Cuando el canal es propiedad de otro usuario el tema se complica. Ya no tenemos acceso a los datos y lo único que podemos hacer es utilizar herramientas externas y tendremos que realizar la extracción en varios pasos. En este ejemplo obtendremos datos del canal oficial de Power BI en YouTube.

1. Obtener una lista de links de los vídeos publicados

Las herramientas externas suelen necesitar una lista de links de los vídeos publicados para descargar su información más relevante o metadatos. Como esto puede ser muy tedioso si son muchos vídeos os contaré un truco que encontré en internet.

Lo primero es entrar en el canal de YouTube deseado y acceder a la sección “Vídeos“:

Sección Videos del canal de YouTube de Power BI
Sección Videos del canal de YouTube de Power BI

El problema es que el listado de Vídeos no se carga completamente, sino que se va cargando a medida que haces scroll hacia abajo. Por eso no podemos obtener todos los vídeos de una sola vez .He usado Google Chrome para acceder al canal y aprovecharé sus herramientas de desarrollo.

Pulsamos en cualquier parte de la página con el botón derecho y seleccionamos “Inspeccionar“:

Inspeccionar página
Inspeccionar página

La venta del navegador se partirá en dos partes: la herramienta de desarrollo a la derecha y la página web en la zona izquierda. Debemos acceder a la pestaña “Console“:

Consola de la herramienta Inspeccionar de Google Chrome
Consola de la herramienta Inspeccionar de Google Chrome

En esta consola podemos insertar código o funciones para ejecutar sobre la página. Vamos a la última línea donde aparece un símbolo “>” y ponemos el siguiente código y pulsamos Enter:

var scroll = setInterval(function(){ window.scrollBy(0, 1000)}, 1000); 

Veréis que en la parte izquierda van apareciendo cada vez más vídeos. Lo que ejecuta este script es un scroll automático para que se listen todos los vídeos. Si queremos todos los vídeos del canal debéis esperar a que acabe de actualizarse antes de realizar el siguiente paso. Hay canales con cientos o miles de vídeos por lo que, si es el caso, yo lo dejaría actualizarse un rato y luego pasaría al siguiente paso para analizar los 100 o 200 últimos vídeos publicados.

Una vez actualizada la lista tendremos que volver a introducir un script en la consola:

window.clearInterval(scroll); console.clear(); urls = $$('a'); urls.forEach(function(v,i,a){if (v.id=="video-title"){console.log('\t'+v.title+'\t'+v.href+'\t')}}); 

Este segundo script crea en la consola la lista de videos y enlaces:

Listado de videos del canal
Listado de videos del canal

Seleccionamos el listado de la ventana de la consola y lo copiamos en un Google SpreadSheet (con Ctrl+C y Ctrl+V):

Copiamos el listado de videos a Excel
Copiamos el listado de videos a una Hoja de Cálculo de Google

Podemos eliminar las columnas que no usamos (solo necesitamos la lista de urls) y le ponemos un título, en este caso, “Video_URLs“:

Excel de listado de videos con título
Excel de listado de videos con título

Usaremos este fichero Google SpreadSheet en el siguiente paso. Como tendremos que acceder a él os tenéis que asegurar que es accesible de manera pública:

Acceso Público al fichero Google SpreadSheet
Acceso Público a la Hoja de Cálculo de Google

2. Usamos la solución Phantom Buster para obtener datos de los vídeos y del canal

Estuve buscando e investigando diferentes herramientas para realizar scrap de YouTube y poder obtener los datos de los vídeos. Tras un análisis inicial creo que PhantomBuster es una buena elección por su funcionalidad y porque ofrece 14 días de uso gratuito.

Web de PhantomBuster
Web de PhantomBuster

Una vez os habéis registrado de manera gratuita por 14 días (sólo hay que introducir vuestro mail y una contraseña, nada de tarjetas) los flujos de Phantom Buster es muy sencillo.

1. Elegir el “scraper” adecuado

Los scrapers son procesos preconfigurados para extraer datos de servicios web. Debemos seleccionar el servicio en cuestión en el menú superior “Solutions” (en nuestro caso seleccionaremos “All Solutions“):

Elegir Solución en Phantom Buster
Elegir Solución en Phantom Buster

En la siguiente página seleccionamos la Categoría “YouTube“:

Categoría YouTube
Categoría YouTube

En esta categoría tenemos 3 scrapers. Como queremos obtener datos sobre los vídeos seleccionaremos “YouTube Video Scraper“:

YouTube Video Scraper
YouTube Video Scraper

La configuración son 3 pasos sencillos:

Paso 1: Indicar el listado de urls de los vídeos

Simplemente indica la url de tu Google SpreadSheet y el nombre que le pusiste a la columna.

Paso 1- Indicar Listado Videos
Paso 1- Indicar Listado Videos

Paso 2: Comportamiento del scraper

Indicar como queremos que se comporte el scraper (numero de url por lanzamiento, nombre del fichero de salida,…)

Paso 2 - Comportamiento del Scraper
Paso 2 – Comportamiento del Scraper

Paso 3: Configuración final

Normalmente son opciones avanzadas, de momento las dejaremos tal cual están porque solo lo queremos lanzar manualmente.

Paso 3 - Configuración Final
Paso 3 – Configuración Final

Paso 4: Ejecutamos el Scraper y descargamos el fichero final

Una vez configurado podemos pulsar el botón “Launch” y lanzar el proceso y luego descargar el fichero csv creado:

Lanzar proceso Phantom Buster
Lanzar proceso Phantom Buster

Comparando los canales de Power BI, Tableau y Qlik

Una vez que tenemos claro el proceso podemos repetirlo dos veces más con los canales de Qlik y Tableau, que junto a Power BI son las 3 soluciones líderes en Business Intelligence según Gartner.

De este modo tenemos 3 ficheros con los metadatos de los vídeos de los 3 canales.

Tenemos tambien la opción de usar el Youtube Channel Scraper de PhantomBuster que nos permite obtener metadatos globales de cada canal:

Scraper Youtube Channel
Scraper Youtube Channel

Con los 3 ficheros de la lista de vídeos de cada canal y el fichero de los metadatos globales de los canales podremos construir un informe en Power BI.

Comparamos datos globales de los canales

En el informe presentamos los datos de Suscriptores, Visualizaciones y Año de Creación de los 3 canales.

Análisis de canales de YouTube con Power BI
Análisis de canales de YouTube con Power BI

Como podéis ver, el canal de Tableau es el que tiene más visualizaciones, pero como también llevaba más años que Power BI en el mercado, quería comprobar el nivel de visualizaciones anuales. Incluso a nivel anual tiene 4 veces más visualizaciones que Power BI.

En cambio Power BI es el rey de suscritos tanto a nivel global como anual. Es increíble que con casi la mitad de vida que Tableau o Qlik, tenga hasta 4 veces más suscritos. La evolución de Power BI y su expansión en la comunidad en estos 6 años de vida es increíble.

Por último, Qlik gana en años de vida del canal de YouTube, pero pierde en visualizaciones y suscriptores.

Creamos una vista de análisis de los vídeos de cada canal

En nuestro informe cada canal tiene un botón de detalle para ir a una página que detalla el análisis de los vídeos de cada canal.

Detalle Power BI

Detalle Power BI
Detalle Power BI

Como podéis ver, los videos más vistos del canal de Power BI son las revisiones de nuevas funcionalidades que presenta Microsoft cada mes. Aparte hay un 10% de contenido en vivo.

Detalle Tableau

Detalle Tableau
Detalle Tableau

En cambio, los vídeos más vistos tienen temáticas más basadas en búsquedas populares en Google. Si analizamos sus títulos parecen estar creados para recabar visitas más que para explicar funcionalidades de Tableau. No hay contenido en vivo.

Detalle Qlik

Detalle Qlik

Los vídeos del canal de Qlik son muy enfocados a funcionalidades concretas, lo que es de agradecer. Al igual que Tableau, no incluye emisiones en vivo.

El informe final

Podéis interactuar con el informe aquí:

Recordad que si estáis suscritos a nuestra newsletter (es gratuito) os podéis descargar éste y el resto de ficheros pbix de nuestros tutoriales.

¿Cómo podemos automatizar este proceso?

Todo este proceso lo hemos realizado con herramientas automatizadas, pero sólo nos sirve para una carga inicial.

¿Y si quiero que este Power BI se vaya actualizando cuando aparezcan vídeos nuevos? Pues no es tan difícil, aunque necesitaremos usar alguna herramienta más y pagar por la licencia de Phantom Buster.

Paso 1 – Actualizar los Google SpreadSheet cuando se publiquen video nuevos con Power Automate

Por ejemplo podemos usar Power Automate de Microsoft para crear un flujo que, cada vez que se publique un video nuevo en alguno de estos canales, añada el link del video a nuestro Google SpreadSheet.

Paso 2 – Automatizar nuestros scrapers de Phantom Buster

Podemos cambiar nuestra configuración del scraper para que se lance cada día con los datos actualizados de los SpreadSheets. Para ello, sólo hay que cambiar el parámetro “Manual” a “Repetitivo“.

Automatizar nuestro scraper
Automatizar nuestro scraper

Conclusiones

Como veis, se pueden analizar canales de YouTube aunque no seamos los propietarios.

Además, PhantomBuster es una herramienta muy potente que incluye accesos a datos de LinkedIn, Google Maps, Twitter, Instagram, por lo que podemos usar este proceso para otr0s servicios web.

¿Qué os ha parecido este tutorial? ¿Habíais intentado obtener datos de canales de YouTube antes? ¿Os parece interesante? ¿Queréis más tutoriales de este estilo? Podéis dejar vuestros comentarios y sugerencias en este post más abajo.

¡SUSCRÍBETE YA!
Doy mi consentimiento para almacenar mis datos para envío de newsletters.
Si te suscribes a la newsletter tendrás acceso a los <b><u>ficheros Power BI originales</u></b> de nuestros tutoriales y post. <br><br>Además tendrás derecho a participar en sorteos periódicos que realizaremos en el blog.
We hate spam. Your email address will not be sold or shared with anyone else.
Mostrar más

Iván Arribas

Llevamos siglos generando, relacionando, modificando y almacenando datos....es hora de que les echemos un vistazo. Espero que este blog sirva de ayuda a los que quieran introducirse en este mundo de la Analítica de Datos, igual que me está sirviendo a mi.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Iván Arribas Delgado.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a Bluehost que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Botón volver arriba
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver
Privacidad