Analizador simple para youtube en tablas de google

Antecedentes


Hubo una tarea para recopilar datos en más de 2000 videos de YouTube, de los cuales fue necesario extraer el nombre del video, el canal y el idioma.

La función IMPORTXML, con la que puede realizar el análisis desde sitios, no ayudó, porque, como resultó más tarde, YouTube almacena datos en archivos JSON. No quería ordenar tantos videos con mis manos y comencé a buscar formas de automatizar o al menos simplificar esta tarea.

Encontré un artículo antiguo de 15 años sobre Habré , que describe cómo obtener la cantidad de vistas de video, pero desde el momento de su publicación, YouTube actualizó la API y necesitaba obtener datos un poco diferentes.

En el proceso de resolver el problema utilizando la API de YouTube y las tablas de Google, resultó no solo extraer datos de una lista preparada de URL de video, sino también analizar la salida de YouTube por palabra clave.

Al estar en el placer más salvaje del resultado, decidí compartir mi experiencia y describir el proceso con más detalle.

El método en sí mismo ciertamente no es ideal. Se puede describir como una solución simple a toda prisa. Pero hasta que comencé a aprender Python (espero que llegue este día tarde o temprano) tengo que hacer todo lo que se hace a la antigua usanza en las tablas.

Preparación


Para que el analizador funcione, como en el artículo original, necesitamos el script ImportJSON y la API de youtube.

Importjson


Descargue el script de github e instálelo en la tabla a través de las herramientas >> editor de script.

API de YouTube


Obtenemos nuestra API: la clave de Youtube Data API V3 en la biblioteca y creamos credenciales para ella. Anteriormente, por supuesto, creamos una cuenta, si aún no está registrado en Google Cloud.

La información sobre el video se almacena en un archivo JSON, que está disponible en el enlace:
www.googleapis.com/youtube/v3/videos?id= {Video_ID} & key = {API_Key} & part = {Part_Parametr}
donde
Video_ID : identificador de video
API_Key : la clave API que obtienes en la consola
Part_Parametr : parte del archivo en el que se almacena la información
Las partes de un archivo pueden ser de varios tipos:
fragmento : contiene casi toda la información básica sobre el video:
1. fecha de publicación
2. título del video
3. nombre del canal
4. identificación del canal
5. descripción debajo del video (Descripción)
6. categoría de video (número)
7. etiquetas
contentDetails : contiene la duración y la resolución del video.
topicDetails : contiene la categoría de video en forma de un enlace de Wikipedia con el nombre de la categoría, sin embargo, esta sección no siempre se completa.
estadísticas
1. vistas
2. número de comentarios
3. me gusta
4. disgustos
En general, estas son las partes principales que puede necesitar, pero una lista completa, si es así, está en la ayuda .

Recuperando datos de la lista de URL


Considere el trabajo del analizador utilizando la revisión badcomedian como ejemplo . Para obtener información sobre un video, solo necesitamos su identificador ( Video_ID ), en este caso es EOWa0fmSGs8 .

Obtenemos y estructuramos información utilizando la fórmula ImportJSON y el lenguaje de consulta XPath.

Así es como se ve el archivo JSON en el servidor:

imagen

La fórmula para obtener el número de vistas en las tablas:
= ImportJSON ('' https://www.googleapis.com/youtube/v3/videos?id=EOWa0fmSGs8&key= {API_Key} & part = statistics ''; "/ items / statistics / viewCount"; '' noHeaders '')
En principio, XPath no puede usarse en la solicitud, pero luego obtendrá todo el contenido del archivo JSON, sin segmentación por parámetros. Después de haber creado la cantidad necesaria de fórmulas con parámetros XPath, obtendrá solo los datos necesarios, que serán más fáciles de procesar.

Obtener una lista de videos por palabra clave


El principio de analizar la salida es el mismo que en el ejemplo anterior, pero la estructura de la solicitud cambia ligeramente.

En este caso, el archivo JSON con los resultados del video se encuentra en el enlace
www.googleapis.com/youtube/v3/search?part=snippet&q= {Your_Query} & type = video & key = {API_Key}
donde el parámetro type indica exactamente lo que obtenemos en la salida:

type = video : una lista de videos relevantes para la solicitud
type = channel - lista de canales
type = playlist - lista de listas de reproducción
También puede especificar en la solicitud:

1. fecha de publicación o rango de fechas
2. región e idioma de búsqueda
3. duración del video
4. número de resultados (por defecto 5, máximo 50), etc.

Una lista completa de parámetros y constructor de consultas está disponible aquí .

Para obtener una lista de ID para badcomedian, use la fórmula:
= ImportJSON (" www.googleapis.com/youtube/v3/search?part=snippet&q=badcomedian&type=video&key= {API_Key}"; "/ items / id / videoId"; '' noHeaders '')
ImportJSON funciona bien junto con la función CONCEPT, que nos permite, al cambiar varios parámetros, realizar análisis de masas o análisis de video.

Un ejemplo de cómo está organizada la tabla:



Método menos


Una desventaja grave de este método de análisis de información es el agotamiento rápido del límite diario de solicitudes de API. No encontré una manera de limitar el número de solicitudes o crear una llamada consistente a la API. Es decir, un intento de analizar información en más de 10 teclas al mismo tiempo garantiza un error: el final del límite diario de consultas. Por lo tanto, debe dividir las palabras clave en pequeños grupos y guardar los resultados como valores.

Source: https://habr.com/ru/post/443506/


All Articles