Saltar al contenido

Usando la API de YouTube en Python

Visión general

En esta publicación, veremos cómo usar la API de YouTube en Python. Este programa mostrará cómo podemos usar la API para recuperar feeds de YouTube. Este guión en particular mostrará los videos más populares en YouTube en este momento.

Feeds estándar

Algunos de los feeds de YouTube más populares son: most_recent most_viewed top_rated most_discussed top_favorites most_linked recientemente_featured most_responded

Empezando

Para comenzar a obtener los datos que queremos de los feeds de YouTube, comenzamos importando los módulos necesarios.

import requests
import json

Lo hacemos un poco más “bonito” imprimiendo lo que hace el programa. Luego obtenemos el feed mediante el módulo de solicitudes. Solía ​​usar el módulo urllib2 para abrir la URL, pero desde que Kenneth Reitz nos dio el módulo de Solicitudes, dejo que ese módulo haga la mayoría de mis tareas HTTP.

r = requests.get("http://gdata.youtube.com/feeds/api/standardfeeds/top_rated?v=2&alt=jsonc")
r.text

Después de obtener el feed y guardarlo en la variable “r”, lo convertimos en un diccionario de Python.

 data = json.loads(r.text)

Ahora, tenemos un diccionario de Python y podemos usar un bucle for para revisar los datos.

for item in data['data']['items']:

A veces, esta puede ser la parte complicada y debe observar detenidamente cómo se le presenta la estructura. Usando un Editor JSON lo hará más fácil.

Usar la API de YouTube para obtener datos

Este script mostrará los videos más populares en YouTube.

# Import the modules
import requests
import json

# Make it a bit prettier..
print "-" * 30
print "This will show the Most Popular Videos on YouTube"
print "-" * 30

# Get the feed
r = requests.get("http://gdata.youtube.com/feeds/api/standardfeeds/top_rated?v=2&alt=jsonc")
r.text

# Convert it to a Python dictionary
data = json.loads(r.text)

# Loop through the result. 
for item in data['data']['items']:

    print "Video Title: %s" % (item['title'])

    print "Video Category: %s" % (item['category'])

    print "Video ID: %s" % (item['id'])

    print "Video Rating: %f" % (item['rating'])

    print "Embed URL: %s" % (item['player']['default'])

    print

El formato de cadena hace que sea mucho más fácil ver el código.


# Sample Output ------------------------------ This will show the Most Popular Videos on YouTube ------------------------------ Video Title: PSY - GANGNAM STYLE (?????) M/V Video Category: Music Video ID: 9bZkp7q19f0 Video Rating: 4.614460 Embed URL: http://www.youtube.com/watch?v=9bZkp7q19f0&feature=youtube_gdata_player Video Title: PSY - GENTLEMAN M/V Video Category: Music Video ID: ASO_zypdnsQ Video Rating: 4.372500 Embed URL: http://www.youtube.com/watch?v=ASO_zypdnsQ&feature=youtube_gdata_player Video Title: MACKLEMORE & RYAN LEWIS - THRIFT SHOP FEAT. WANZ (OFFICIAL VIDEO) Video Category: Music Video ID: QK8mJJJvaes Video Rating: 4.857624 Embed URL: http://www.youtube.com/watch?v=QK8mJJJvaes&feature=youtube_gdata_player

Cómo utilizar otros feeds de YouTube

Para utilizar otro feed estándar de YouTube, simplemente reemplace el feed en la URL: http://gdata.youtube.com/feeds/api/standardfeeds/most_responded? v = 2 & alt = jsonc Puede que tenga que modificar el script para obtener el resultado esperado.

Entrenamiento de Python recomendado

Para el entrenamiento de Python, nuestra principal recomendación es DataCamp.